我以以下格式从Facebook获得Facebook用户朋友的生日:
10/07/1967 or just the day and month as 10/07
我想把它显示为"October, 07, 1967"或"October, 07"
是否有一种方法将此字符串转换为日期并在Javascript中格式化?
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——日期对象
= myFormatDate——格式化日期字符串"October, 07, 1967"
要想快速完成,不用花哨的东西,你可以先分开约会
myDateParts = myDate.split("/");
然后根据零件构建新的日期:
myNewDate = new Date(myDateParts[2], myDateParts[1], myDateParts[0]);
查看出色的DateJS库。你可以做你想做的事,甚至更多……
[不,我没有以任何方式参与DateJs,只是一个非常满意的用户:-)]使用moment.js可以将日期转换为:
moment('10/07/1967', "MM/DD/YYYY").format("MMMM, DD, YY")
其中第一部分从给定格式("MM/DD/YYYY"
)的字符串中获取日期,然后您只需按照您希望的格式设置日期("MMMM, DD, YY"
)
如果您不想使用框架,您可以将字符串传递给日期构造函数:
var birthday = new Date('10/07/1967');
构造函数也将接受没有年份的字符串,如'10/07'。然后,您可以访问每个属性,如您所愿:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date