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

uDateUTC2Local UTCからローカル日付に変換 | itcore 2018年

PHP JavaScript

PHP TOP

関数

<?php
// UTCからローカル日付に変換
function uDateUTC2Local($dt_utc) {
    $t = new DateTime($dt_utc, new DateTimeZone('UTC')); // UTCの日時 '2018-06-12T02:44:48.00000'
    $display_timezone = date_default_timezone_get();
    $t->setTimeZone(new DateTimeZone($display_timezone));
    $dt_local = $t->format('Y-m-d H:i:s');
    return $dt_local;
}
?>

テストプログラム

<?php include_once "uDateUTC2Local.func"; ?>
<?php
  $dt_utc = '2018-06-12T02:44:48.00000';
  $dt_local = uDateUTC2Local($dt_utc);
  echo "dt_local=$dt_local<br>\n";
?>

実行結果

dt_local=2018-06-12 11:44:48

JavaScript TOP

関数

<?php include "uStr0.js"; ?>
<script>
// UTCからローカル日付に変換 (Javascriptではタイムゾーンを変更できない)
function uDateUTC2Local(dt_utc) {
    var dt = new Date(dt_utc); // UTCの日時 '2018-06-12T02:44:48.00000'
    dt.setTime(dt.getTime() - (dt.getTimezoneOffset() * 60 * 1000));
    var yyyy = dt.getFullYear();
    var mm = uStr0(dt.getMonth() + 1, 2);
    var dd = uStr0(dt.getDate(), 2);
    var hh = uStr0(dt.getHours(), 2);
    var nn = uStr0(dt.getMinutes(), 2);
    var ss = uStr0(dt.getSeconds(), 2);
    var dt_local = yyyy + '-' + mm + '-' + dd + ' ' + hh + ':' + nn + ':' + ss;
    return dt_local;
}
</script>

テストプログラム

<?php include "uDateUTC2Local.js"; ?>
<script>
document.open();
var date_utc = "2018-06-12T02:44:48.00000"; var ret = uDateUTC2Local(date_utc); document.writeln("date_utc=" + date_utc + " ret=" + ret + "<br>");
document.close();
</script>

実行結果