javascript中的时间转换

时间:2015-07-09 14:53:36

标签: javascript jquery

如何转换看起来像的日期时间:

' Thu Jul 09 2015 08:00:00 GMT + 0300(GTB Daylight Time)'

到像这样的日期 ' DD-MM-YYYY' - 即' 09-07-2015'?

(最好不使用特殊库)

1 个答案:

答案 0 :(得分:4)

您需要考虑时区的影响。一个简单的实现可能是这样的

function myDateFormat(d) {
    var dd = d.getDate(),
        mm = d.getMonth() + 1,
        yyyy = d.getFullYear();
    if (dd < 10) dd = '0' + dd;
    if (mm < 10) mm = '0' + mm;
    return dd + '-' + mm + '-' + yyyy;
}

var d = new Date('Thu Jul 09 2015 08:00:00 GMT+0300 (GTB Daylight Time)');
myDateFormat(d); // "09-07-2015" (in client's local timezone)

但是,请注意,不同时区的某人可能会在GMT + 0300的日期与日期不同

如果您的目的是显示您的时区的日期,那么您需要知道您的时区与 UTC 的偏差(发送时间)使用 datetime ,您可以按此值调整UTC时间,并在此修改后输出 Date 计算的 UTC 时间。< / p>

function myDateFormat(d_in, offset) {
    var d = new Date(+d_in - 60000 * offset);
        dd = d.getUTCDate(),
        mm = d.getUTCMonth() + 1,
        yyyy = d.getUTCFullYear();
    if (dd < 10) dd = '0' + dd;
    if (mm < 10) mm = '0' + mm;
    return dd + '-' + mm + '-' + yyyy;
}

您的偏移量为-180 GMT + 0300 提前{em}}分钟 3 * 60

-