我得到的日期字符串需要在javascript中转换为其他日期格式。
输入日期字符串:2016-03-10 16:00:00.0
预期输出:March 10,2016
答案 0 :(得分:0)
https://msdn.microsoft.com/en-us/library/ff743760(v=vs.94).aspx
https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx
这两个链接应该让你开始朝着正确的方向前进。
你可以做点什么 var myDate = new Date(“2016-03-10 16:00:00.0”); myDate.toString( “M”)
打印出来: “2016年3月10日星期四16:00:00 GMT-0800(太平洋标准时间)”
然后你可以解析它并得到你想要的部分。或者你可以在上面的链接中查看其他返回toString格式。
答案 1 :(得分:0)
使用您正在使用的源格式设置日期格式的最可靠方法是应用以下步骤:
.replace(/ /g,'T')
将您的日期转换为ISO 8601
new Date()
.getDate()
,.getMonth()
和.getFullYear()
分别获取日期,月份和年份下面的format
功能向您展示了组合这四个步骤的最佳方式:
var date = '2016-03-10 16:00:00.0';
function format(input) {
var date = new Date(input.replace(/ /g,'T'));
return [
"January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"
][date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear();
}
document.body.innerHTML = format(date); // OUTPUT : "March 10, 2016"
(另见this Fiddle)。
您还可以使用内置的.toLocaleDateString
方法为您进行格式化。您只需要传递适当的区域设置和选项以匹配正确的格式,但遗憾的是,只有现代浏览器支持(*):
var date = '2016-03-10 16:00:00.0';
function format(input) {
var dateFormat = { year: 'numeric', month: 'long', day: 'numeric' };
return new Date(input.replace(/ /g,'T')).toLocaleDateString('en-US', dateFormat);
}
document.body.innerHTML = format(date); // OUTPUT : "March 10, 2016"
(另见this Fiddle)。
(*) According to the MDN,“现代浏览器”指Chrome 24 +,Firefox 29 +,IE11,Edge12 +,Opera 15+& Safari nightly build