1. ホーム
  2. js

日付までのタイムスタンプ(2018-01-01)

2022-02-21 21:58:58

タイムスタンプを日付と時刻に変換することは頻繁に遭遇する要件ですので、ここではタイムスタンプを日付と時刻に変換する方法をまとめています。

function dateFormat(millionsTime, pattern){
    var d = new Date();
    d.setTime(millionsTime);
    var date = {
        "M+": d.getMonth() + 1,
        "d+": d.getDate(),
        "h+": d.getHours(),
        "m+": d.getMinutes(),
        "s+": d.getSeconds(),
        "q+": Math.floor((d.getMonth() + 3) / 3),
        "S+": d.getMilliseconds()
    };
    if (/(y+)/i.test(pattern)) {
        pattern = pattern.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));
    }
    for (var k in date) {
        if (new RegExp("(" + k + ")").test(pattern)) {
            pattern = pattern.replace(RegExp.$1, RegExp.$1.length == 1
                ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
        }
    }
    return pattern;
}
function isEmptys(obj){
    return (obj == null || obj == "" || obj == "undefined")
}
alert(dateFormat(1514736000000, "yyyy-MM-dd"))
alert(dateFormat(1514736000000, "yyyy-MM-dd hh:mm:ss"))

yyyy は年、MM は月、dd は日、hh は時、mm は分、ss は秒を表します。1514736000000は秒ではなくミリ秒である必要があります。フォアグラウンドに表示したいスタイルは、ここで変更することができます。たとえば、上記の例の結果は次のようになります。2018-01-01; 2018-01-01 00:00:00. これを "yyyy year MM month dd day" に変更すると、結果は "01/01/2018" になります。