如何使用javascript转换日期文本?

如何使用javascript转换日期文本?,javascript,Javascript,如何转换这个 Sun Jan 08 2012 00:00:00 GMT+0530 (Sri Lanka Standard Time) 进入 使用javascript 问候 编辑: 我实际上是在使用extjs,不知道有一种内置的方法可以使用extjs实现这一点 所以我设法做到了这一点 var date = new Date("Sun Jan 08 2012 00:00:00 GMT+0530 (Sri Lanka Standard Time)"); console.log(Ext.Date.fo

如何转换这个

Sun Jan 08 2012 00:00:00 GMT+0530 (Sri Lanka Standard Time)
进入

使用javascript

问候

编辑:


我实际上是在使用extjs,不知道有一种内置的方法可以使用extjs实现这一点

所以我设法做到了这一点

var date = new Date("Sun Jan 08 2012 00:00:00 GMT+0530 (Sri Lanka Standard Time)");
console.log(Ext.Date.format(date, 'Y-m-d'));

这给了我2012-01-08

没有真正的捷径,直到第五版(几年前)才有JavaScript支持的标准日期字符串格式(
Date
仅用于正确解析
toString
输出,标准中未指定两者实际使用的格式),从第5版开始,解析的格式与您引用的不同(相反,它是ISO-8601的简化版本)。因此,您必须自己解析它,使用正则表达式和/或蛮力(,),或使用库(如)为您进行解析

也就是说,我尝试的每个浏览器都很乐意通过
新日期
为您解析它,例如:

var str = "Sun Jan 08 2012 00:00:00 GMT+0530 (Sri Lanka Standard Time)";
var dt = new Date(str);

我试过IE6、IE9、Chrome 15、Opera 11、Firefox 9、Firefox 5、Safari 5、Konquer 4.7.3和Midori 0.4.0(分布在Windows和Linux上)。因此,如果您对此感到满意,并在您的目标环境中进行测试(我不知道这是web浏览器,JavaScript也用于服务器和台式机),您可能会很高兴这样做。

没有真正的捷径,直到第五版(几年前)才有JavaScript支持的标准日期字符串格式(
Date
仅用于正确解析
toString
输出,标准中未指定两者实际使用的格式),从第5版开始,解析的格式与您引用的不同(相反,它是ISO-8601的简化版本)。因此,您必须自己解析它,使用正则表达式和/或蛮力(,),或使用库(如)为您进行解析

也就是说,我尝试的每个浏览器都很乐意通过
新日期
为您解析它,例如:

var str = "Sun Jan 08 2012 00:00:00 GMT+0530 (Sri Lanka Standard Time)";
var dt = new Date(str);

我试过IE6、IE9、Chrome 15、Opera 11、Firefox 9、Firefox 5、Safari 5、Konquer 4.7.3和Midori 0.4.0(分布在Windows和Linux上)。因此,如果您对此感到满意,并在您的目标环境中进行测试(我不知道这是web浏览器,JavaScript也用于服务器和台式机),您可能会很高兴这样做。

对于date Constructor,您可以传递一个日期字符串:)


到日期构造函数,您可以传递一个日期字符串:)


在SO中有数百个关于这个主题的问题。你找到了什么?什么不起作用?请参阅此链接:在SO中有数百个关于此主题的问题。你找到了什么?什么不起作用?请参阅此链接:可以,但该字符串的唯一记录格式与OP尝试的格式不匹配。不过,巧合的是,当你发布答案时,我在不同的浏览器上测试了它,他们似乎都很满意。你可以,但该字符串的唯一文档格式与OP尝试的格式不匹配。不过,巧合的是,当你发布答案时,我在不同的浏览器上测试了它,他们似乎都对它感到满意。我实际上是在使用extjs,不知道它有一种内置的方式来实现这一点。var日期=新日期(“2012年1月8日星期日00:00:00 GMT+0530(斯里兰卡标准时间)”;日志(Ext.Date.format(Date,'Y-m-d'));这给了我所需要的答案2012-01-08我实际上在使用extjs,但不知道它有一个内置的方法来实现这一点。var日期=新日期(“2012年1月8日星期日00:00:00 GMT+0530(斯里兰卡标准时间)”;日志(Ext.Date.format(Date,'Y-m-d'));这给了我2012-01-08所需的答案
var date = new Date("Sun Jan 08 2012 00:00:00 GMT+0530 (Sri Lanka Standard Time)");
[ date.getFullYear(), date.getMonth() + 1 , date.getDate() + 1 ].join("-");
 //"2012-1-8"