2011-06-01 168 views
1

當我輸入日期並提交時,我的日期格式爲\/06\/12\/1967,我需要以下格式發送我的JSON。JavaScript中的解析日期

需要發送斜槓的格式。

/Date(1306348200000)/ 
+1

它不應該是一個負數,因爲它<1970年? – alex 2011-06-01 23:31:21

+0

這個問題幾乎不可能理解。 – Pointy 2011-06-01 23:32:54

回答

2

你的日期是1970年以前的,所以你應該能夠利用負數表示日期之前的日期。

var str = '\/06\/12\/1967', 

    date = new Date(str); 

str = '/Date(' + +date + ')/'; 

jsFiddle

如果你需要幾秒鐘而不是毫秒,除以1000

如果您的日期是歐洲格式(當前日期是模糊的,它可以在任)...

var str = '\/06\/12\/1967', 

    tokens = str.split('/'); 

str = [tokens[2], tokens[1], tokens[3]].join('/') 

var date = new Date(str); 

str = '/Date(' + +date + ')/'; 

jsFiddle

+0

哇,不能期望更多....你能解釋我幾件事什麼是令牌[2],令牌[1]等等...爲什麼我們添加兩個+日期,我們可以讓它作爲一個通用函數,我可以通過str並返回... – 2011-06-01 23:56:19

+0

@John如果它不是美國格式,'tokens'數組將被更改爲日期格式。 '+'前綴是用於調用'date'對象的'getTime()'方法的語法糖。 – alex 2011-06-02 00:01:42