我有一个以下列格式提供给我的日期时间字符串:
yyyy-MM-dd HH:mm:ss
2011-07-14 11:23:00
尝试将其解析为JavaScript date()
对象时,它会失败。将此转换为JavaScript可以理解的格式的最佳方法是什么?
以下答案提示类似
var myDate = new Date('2011-07-14 11:23:00');
我正在使用的是什么。看来这可能是一个浏览器问题。我为此做了一个http://jsfiddle.net/czeBu/。它在Chrome中适合我。在OS X上的Firefox 5.0.1中,它返回Invalid Date
。
答案 0 :(得分:38)
这适用于OS X上的Safari 5和Firefox 5。
更新:Fx Quantum(54)不需要替换,但Safari 11仍然不满意,除非你转换如下
var date_test = new Date("2011-07-14 11:23:00".replace(/-/g,"/"));
console.log(date_test);
答案 1 :(得分:6)
可以使用getmonth和getday方法只获取日期。
我在这里附上我的解决方案:
var fullDate = new Date(); console.log(fullDate);
var twoDigitMonth = fullDate.getMonth() + "";
if (twoDigitMonth.length == 1)
twoDigitMonth = "0" + twoDigitMonth;
var twoDigitDate = fullDate.getDate() + "";
if (twoDigitDate.length == 1)
twoDigitDate = "0" + twoDigitDate;
var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear(); console.log(currentDate);

答案 2 :(得分:2)
使用:
enter code var moment = require('moment')
var startDate = moment('2013-5-11 8:73:18', 'YYYY-M-DD HH:mm:ss')
Moment.js效果很好。您可以阅读更多相关信息here。
答案 3 :(得分:1)
只需使用Date.parse()
返回一个数字,然后使用new Date()
解析它:
var thedate = new Date(Date.parse("2011-07-14 11:23:00"));
答案 4 :(得分:1)
function ConvertDateFromDiv(divTimeStr) {
//eg:-divTimeStr=18/03/2013 12:53:00
var tmstr = divTimeStr.toString().split(' '); //'21-01-2013 PM 3:20:24'
var dt = tmstr[0].split('/');
var str = dt[2] + "/" + dt[1] + "/" + dt[0] + " " + tmstr[1]; //+ " " + tmstr[1]//'2013/01/20 3:20:24 pm'
var time = new Date(str);
if (time == "Invalid Date") {
time = new Date(divTimeStr);
}
return time;
}
答案 5 :(得分:1)
你可以使用moment.js,它会将DateTime对象转换为有效的Javascript格式化日期:
moment(DateOfBirth).format('DD-MMM-YYYY'); // put format as you want
Output: 28-Apr-1993
希望它会对你有所帮助:)。
答案 6 :(得分:0)
您可以使用get方法:
var fullDate = new Date();
console.log(fullDate);
var twoDigitMonth = fullDate.getMonth() + "";
if (twoDigitMonth.length == 1)
twoDigitMonth = "0" + twoDigitMonth;
var twoDigitDate = fullDate.getDate() + "";
if (twoDigitDate.length == 1)
twoDigitDate = "0" + twoDigitDate;
var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear(); console.log(currentDate);

答案 7 :(得分:-1)
嗯,快速找到答案Convert date from string in javascript稍加修改就可以了。谢谢你的相关问题。
答案 8 :(得分:-3)
new Date("2011-07-14 11:23:00");
对我来说很好。