2013-03-06 167 views
-3

有没有一种方法,我可以得到年,月(0基)和一天'03/05/2013'解析JavaScript中的日期?

如果是这样,怎么样?

感谢

有没有一种安全的方式来做到这一点,可以检查它是否是正确的格式?

+3

相关:http://xkcd.com/1179/ – BLSully 2013-03-06 19:20:40

+1

'Date'构造函数可能不喜欢你的格式,但是正则表达式总是可用的;你有什么尝试? – 2013-03-06 19:20:55

+4

对不起,但是http://bit.ly/15y49gj – sweetamylase 2013-03-06 19:21:52

回答

0

您有Date.parse方法分析日期字符串并返回其时间戳,因此您可以拨打new Date()

事情是这样的:

new Date(Date.parse('03/06/2013')) 
+0

我如何知道它是否失败? – user2043533 2013-03-06 19:25:28

+0

你也可以做'新日期('03/06/2013')'...但上面的点仍然是....是3月6日还是6月3日? – BLSully 2013-03-06 19:25:33

+0

3月6日。以同样的方式使用'。' (而不是',')在调用parseFloat时。 – 2013-03-06 19:31:04

0

使用split()功能最容易,我想:

var date = "03/05/2013"; 
var dateParts = date.split("/"); 

var day = dateParts[0]; 
var month = dateParts[1]; 
var year = dateParts[2]; 

http://jsfiddle.net/s7ma2/1/

+0

关闭,但如果我的理解正确,则必须交换“日”和“月”(月/日/年)。这是一个奇怪的格式,我知道。 – 2013-03-06 19:30:25

+0

如何检测故障? – user2043533 2013-03-06 19:34:37

+0

那么,你可以检查数组dateParts的长度:dateParts.length()应该返回3 – jeppeb 2013-03-06 19:38:48