2011-12-16 91 views
0

,我在下面的格式讓Facebook用戶的朋友的生日回來自Facebook的「MM/DD/YYYY」到「一週中的一天,月份名稱,年份」:將字符串轉換爲JavaScript的

10/07/1967 or just the day and month as 10/07 

我想要顯示它爲「十月,07,1967」或「十月07」

有沒有辦法將此字符串轉換爲日期並在Javascript中設置格式?

回答

2
var MONTHS = ["January","February","March","April","May","June","July","August","September","October","November","December"]; 
var myDate, myFormatDate; 
var date_str ='10/07/1967'; 
var t = date_str.split("/"); 
if(t[2]) { 
    myDate = new Date(t[2], t[0] - 1, t[1]); 
    myFormatDate = MONTHS[myDate.getMonth()] + "," + myDate.getDate() + "," + myDate.getFullYear(); 
} else { 
    myDate = new Date(new Date().getFullYear(), t[0] - 1, t[1]); 
    myFormatDate = MONTHS[myDate.getMonth()] + "," + mydate.getDate(); 
} 

=結果:
=指明MyDate - Date對象
= myFormatDate - 格式化日期字符串 「十月,07,1967年」

1

查看真棒DateJS庫。你就可以做你想做的,還有更多...

[不,我沒有參與與DateJs任何方式,只是一個非常滿意的用戶:-)]

+1

DateJS強烈推薦! – olemartin 2011-12-16 11:16:07

0

使用moment.js你可以轉換日期:

moment('10/07/1967', "MM/DD/YYYY").format("MMMM, DD, YY") 

其中第一部分得到給定的格式("MM/DD/YYYY")字符串的日期,然後你只格式化,你想給其他格式的日期("MMMM, DD, YY"

1

要做得快,沒有花裏胡哨的喲ü可以先分割你的約會

myDateParts = myDate.split("/"); 

然後建立從零件的新日期:

myNewDate = new Date(myDateParts[2], myDateParts[1], myDateParts[0]); 
0

如果你不希望使用一個框架,你可以只在字符串中傳遞的日期構造函數:

var birthday = new Date('10/07/1967'); 

構造函數也會接受沒有年份的字符串,如'10/07'。 然後當你願意,你可以訪問每個屬性: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

+0

`生日=新日期('10/07');`,它返回'「Tue Oct 09 2001」``。 – ijse 2011-12-16 11:26:40

+0

誠然,年份默認爲2001年,但日期應該是正確的? (新日期('10/07'))。getDate()應該返回7 ..? – 2011-12-16 11:32:20