使用javascript转换dd-mm-yyyy格式的UTC值?

问题描述 投票:1回答:5

我想使用javascript将UTC时间值(例如,1367214805)转换为日期(以dd-mm-yyyy)格式。

对于例如在PHP中,如果我们使用...

<?php Date("d-m-Y",'1367214805'); ?>

...我们直接以dd-mm-yyyy格式获取日期。

javascript中有这样的功能吗? - 我在javascript中以各种方式尝试了Date(),但每次打印现在的日期和时间!!

谢谢

javascript date utc
5个回答
1
投票

JavaScript使用毫秒时代,因此您需要将您的数字乘以1000。

var t = 1367214805;
var d = new Date(t * 1000);

然后有.getUTCxxx方法来获取你想要的字段,然后你可以零填充和连接以获得所需的字符串。

function epochToDate(t) {
    function pad2(n) {
        return n > 9 ? n : '0' + n;
    }
    var d = new Date(t * 1000);
    var year = d.getUTCFullYear();
    var month = d.getUTCMonth() + 1;  // months start at zero
    var day = d.getUTCDate();

    return pad2(day) + '-' + pad2(month) + '-' + year;
}

1
投票

看看Moments.js,您应该能够轻松获得您想要的任何格式。

console.log(new Date());
console.log(moment().format("D-M-YY"));
console.log(moment(1367214805 * 1000).format("DD-MM-YY"));

jsfiddle


1
投票

您可以使用toISOString方法,然后忽略T之后的所有内容,例如

var isoDateStr = myDate.toISOString();
isoDateStr = isoDateStr.substring(0, isoDateStr.indexOf('T'));

这将为您提供标准的UTC日期格式yyyy-mm-dd。如果您需要专门将日期格式化为dd-mm-yyyy,那么您可以获取该结果并切换值,即

isoDateStr = isoDateStr.split('-').reverse().join('-');

0
投票

你可以试试这个:

myDate.toISOString().split('T')[0].split('-').reverse().join('-')

0
投票

为什么不使用getUTCxxx()方法?

function formatUTC(time_UTC_in_milliseconds_since_epoch) {
    /*
     * author: WesternGun
     */
    var time = new Date(time_UTC_in_milliseconds_since_epoch);
    var formatted = time.getUTCFullYear() + "-" 
        + (time.getUTCMonth() + 1).toString() + "-" 
        + time.getUTCDate() + " " 
        + time.getUTCHours() + ":" 
        + time.getUTCMinutes() + ":" 
        + time.getUTCSeconds();
    return formatted;
}

请记住在月份中添加1,因为getUTCMonth()的返回值范围是0~11

根据您的意见,我们有:

formatUTC(1367214805 * 1000); // return "2013-4-29 5:53:25"

要将数字格式化为\d\d格式,只需创建另一个函数:

function normalizeNumber(input, toAdd) {
    if (parseInt(input) < 10) {
        return toAdd + input;
    } else {
        return input;
    }
}

并使用它像normalizeNumber((time.getUTCMonth() + 1).toString(), "0")等。

© www.soinside.com 2019 - 2024. All rights reserved.