在javascript中将字符串转换为“mm / dd / yyyy”为“星期几,月份名称,年份”

时间:2011-12-16 11:11:32

标签: javascript date

我以下列格式从Facebook获得Facebook用户的朋友生日:

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

我想将其显示为“1967年10月7日”或“10月07日”

有没有办法将此字符串转换为日期并在Javascript中格式化?

5 个答案:

答案 0 :(得分: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 - 日期对象
= FormatDate - 格式化日期字符串“October,07,1967”

答案 1 :(得分:1)

查看真棒DateJS库。你将能够做你想做的事,还有更多......

[不,我没有以任何方式参与DateJs,只是一个非常满意的用户: - )]

答案 2 :(得分:1)

为了快速完成,没有花里胡哨,你可以先分开你的日期

myDateParts = myDate.split("/");

然后从部分构建新日期:

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

答案 3 :(得分:0)

使用moment.js,您可以使用以下内容转换日期:

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

第一部分从给定格式("MM/DD/YYYY")的字符串中获取日期,然后您只需格式化日期,然后再提供另一种格式("MMMM, DD, YY"

答案 4 :(得分:0)

如果您不想使用框架,可以将字符串传递给日期构造函数:

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

构造函数也会接受没有年份的字符串,比如'10 / 07'。 然后,您可以根据需要访问每个属性: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date