我正在尝试使用Javascript将“1983-24-12”转换为1983年12月24日。
我们在Javascript中是否有任何现成的函数,这使得此转换与Java中的simpledateformat
相同?
我试图避免在数组中花费数月然后进行操作。
我的代码如下。
//For Date Format
months = ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
dob = responseObj.data.personDetail.birthDate.split('-');
month = months[dob[1]];
responseObj.data.personDetail.birthDate = month +" "+dob[2] +","+dob[0];
请帮助。
答案 0 :(得分:7)
如果您不想使用图书馆,为什么不只是拆分日期字符串并编制您自己的日期?
var str_date = "1983-24-12",
arr_date = str_date.split('-'),
months = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
alert(months[arr_date[2]] + ' ' + arr_date[1] + ', ' + arr_date[0]);
JavaScript包含Date()
对象:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
问题是JavaScript Date()
对象不会返回一个月的字符串表示形式。所以在某些时候你必须自己创造这种逻辑。您发布的格式(“1983-24-12”)也是使用Date()
对象解析的格式无效。
答案 1 :(得分:2)
这可能会有所帮助:Date Format Conversion
答案 2 :(得分:2)
如果我理解你的话,那么您正在尝试重新格式化您的日期,快速谷歌搜索提出了http://blog.stevenlevithan.com/archives/date-time-format这个看起来像您想要的日期。
答案 3 :(得分:2)
Ext.Date
添加高级日期格式和解析:
一组处理日期的有用静态方法请注意,如果需要并加载Ext.Date,它会将所有方法/属性复制到此对象以方便使用。
您可以在此处找到更多信息:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Date
或者,JQuery UI的DatePicker小部件实现了一个非常强大的日期解析器和格式化程序,可以在您自己的代码中使用,如下所示:
var parsedDate = $.DatePicker.parseDate("yy-m-d", "1983-24-12");
var outputString = $.DatePicker.formatDate("MM d, yy", parsedDate);
// outputString = "December 24, 1983"
此处的相关功能为parseDate和formatDate。
但是有一个问题,要使用它,你必须在代码中包含JQuery和JQuery UI作为脚本,这可能对你需要的东西有点过分,而其他答案可能更适合你的需求