如何将Google时间戳四舍五入到下一个午夜或中午

时间:2019-04-01 14:53:23

标签: javascript datetime timestamp

我有一个Google时间戳返回日期:“ 2019-04-01T14:12:22.223Z”

我想根据提供的时间戳将此时间戳转换为最近的午夜或正午(0:00:00或12:00:00)。

1 个答案:

答案 0 :(得分:0)

Google返回的格式为UTC。您可以通过检查当前时间的范围来“标准化”日期并将其四舍五入为0:00或12:00。

function normalizeTime(UTCDate){
    var nomalized = new Date(UTCDate);

    nomalized.setHours(
        nomalized.getHours()+1 >= 6 && nomalized.getHours()+1 < 18 ? 12 : 0
    );
    
    nomalized.setMinutes(0);
    nomalized.setSeconds(0);
    nomalized.setMilliseconds(0);
    
    return String(nomalized);
}

console.log(normalizeTime("2019-04-01T02:12:22.223Z"));
console.log(normalizeTime("2019-04-01T14:12:22.223Z"));
console.log(normalizeTime("2019-04-01T20:12:22.223Z"));