TOP ▲ itcore TOP プログラムパーツ

uDateNum 日付のセパレータをはずして8桁の数字として返す。 yyyy-mm-dd yyyy/m/d -> yyyymmdd | itcore 2017年

PHP JavaScript

PHP TOP

関数

<?php
function uDateNum($date) {
  $sep = substr($date, 4, 1); // 2017-12-03 -> '-'
  if (false !== strpos("0123456789", $sep)) return $date; // 20171203
  $arr = explode($sep, $date);
  $date_num = $arr[0] . uStr0($arr[1], 2) . uStr0($arr[2], 2);
  return $date_num;
}
?>

テスト

<?php include "uDateNum.func"; ?>
<?php include "uStr0.func";?>
<?php
$date = "2017-12-03"; $ret = uDateNum($date); echo "date=$date ret=$ret<br>\n";
$date = "2018/1/3"; $ret = uDateNum($date); echo "date=$date ret=$ret<br>\n";
$date = "20171231"; $ret = uDateNum($date); echo "date=$date ret=$ret<br>\n";
?>

実行結果

date=2017-12-03 ret=20171203
date=2018/1/3 ret=20180103
date=20171231 ret=20171231

JavaScript TOP

関数

<?php include_once "uStr0.js"; ?>
<script>
// 日付のセパレータをはずして8桁の数字として返す。 yyyy-mm-dd yyyy/m/d -> yyyymmdd
function uDateNum(date) {
  var sep = date.substr(4, 1); // 2017-12-03 -> '-'
  if (-1 != "0123456789".indexOf(sep)) return date; // 20171203
  var arr = date.split(sep);
  var date_num = arr[0] + uStr0(arr[1], 2) + uStr0(arr[2], 2);
  return date_num;
}
</script>

テスト

<?php include "uDateNum.js"; ?>
<script>
document.open();
var date = "2018-12-03"; var ret = uDateNum(date); document.writeln("date=" + date + " ret=" + ret + "<br>");
var date = "2019/1/3"; var ret = uDateNum(date); document.writeln("date=" + date + " ret=" + ret + "<br>");
var date = "20181231"; var ret = uDateNum(date); document.writeln("date=" + date + " ret=" + ret + "<br>");
document.close();
</script>

実行結果