从h:我的格式来自javascript GMT日期格式

时间:2012-09-20 12:24:54

标签: javascript

我在使用JavaScript。我的日期格式如下:

Tue Sep 18 2012 01:30:00 GMT+0530 (India Standard Time) 

我想以下面的格式显示它

'Y-m-d h:i:s'

OR

如何在JavaScript中从(Tue Sep 18 2012 00:00:00 GMT+0530 (India Standard Time))格式获取时间?

3 个答案:

答案 0 :(得分:3)

如果您有Date个对象,则可以执行此操作:

var timeString = myDate.getFullYear() + '-' + (myDate.getMonth()+1) + '-'
+ myDate.getDate() + ' ' + myDate.getHours() + ':' + myDate.getMinutes() + ':' 
+ myDate.getSeconds();

如果您有String,请在此之前执行此操作:

var myDate = new Date('Tue Sep 18 2012 01:30:00 GMT+0530 (India Standard Time) ');

答案 1 :(得分:1)

有几个好的库可以帮助您处理日期(例如date.jsmoment.js)。

由于您在其中一条评论中提到您不想包含其他js文件,因此还有一些较小的版本(例如dateFormat),您可以轻松地将其复制粘贴或调整到当前代码中。

如果您真的想要滚动自己的日期格式化程序而不是使用现有格式化程序,则可以使用Date对象提供的方法构建自己的日期字符串。

这是一个简单的例子:

function getMyDateFormat(date) {
    var d = date ? new Date(date) : new Date;
    var dt = [d.getFullYear(), d.getMonth(), d.getDay()].join("-"),
        tm = [d.getHours(), d.getMinutes(), d.getSeconds()].join(":");
    return dt + " " + tm;
}

使用示例:

str = getMyDateFormat();  // default (current datetime)
// 2012-8-4 14:3:22

str = getMyDateFormat("Tue Sep 18 2012 01:30:00 GMT+0530 (India Standard Time"); 
// output (in my locale): 2012-8-1 21:0:0 

var now = new Date();
str = getMyDateFormat(now);  // using a date object
// output: 2012-8-4 14:3:22

演示:http://jsfiddle.net/6ByFN/

这是一个用0的填充单个数字值的变体:http://jsfiddle.net/6ByFN/1/

答案 2 :(得分:0)

Moment.js是一个很好的JS库,可以帮助解析和格式化日期。

http://momentjs.com/