如何使用javascript将此Fri Feb 21 2014 00:00:00 GMT-0800 (Pacific Standard Time)
变成此2014-02-21
?如何将此日期类型转换为正常日期类型? javascript
0
A
回答
0
我不能删除这个,因为OP选择它作为答案(OP请选择Xotic750的)答案。
2
可以打破串入的部分,则位格式化成你所需要的:
// Reformat string like: Fri Feb 21 2014 00:00:00 GMT-0800 (Pacific Standard Time)
// do yyyy-mm-dd
function reformatDateString(s) {
function z(n){return (n<10?'0':'') + n;}
var months = {jan:'01', feb:'02', mar:'03', apr:'04', may:'05', jun:'06',
jul:'07', aug:'08', sep:'09', oct:'10', nov:'11', dec:'12'};
s = s.split(/[ :]/g);
return s[3] + '-' + months[s[1].toLowerCase()] + '-' + z(s[2]);
}
您可以使用日期的构造,但在这里是没有必要的。使用构造函数解析字符串是有问题的,因为OP中的字符串不适合ES5中指定的格式(所有使用的浏览器都不支持此格式),而解析则与实现相关。
所以要使用Date需要解析零件,导致许多额外的函数调用。
1
日期Fri Feb 21 2014 00:00:00 GMT-0800
采用标准RFC 2822格式,因此您可以使用new Date()
作为参数创建新日期。这会将其转换为UTC(自1970年1月1日以来的毫秒),您可以操作它。
然后可以转换UTC为ISO 8601扩展格式(2014-02-21T00:00:00.000Z
)与toISOString()
方法,并得到了T
之前的文本:
var utcDate = new Date('Fri Feb 21 2014 00:00:00 GMT-0800');
var isoExtendedDate = utcDate.toISOString();
var isoSimpleDate = isoExtendedDate.split("T")[0];
+1
ES5不需要实现来支持除ISO 8601版本以外的任何格式。其他格式的解析依赖于实现 – RobG
2
使用标准的字符串/数组操作
var timeStamp = 'Fri Feb 21 2014 00:00:00 GMT-0800 (Pacific Standard Time)',
months = {
Jan: 1,
Feb: 2,
Mar: 3,
Apr: 4,
May: 5,
Jun: 6,
Jul: 7,
Aug: 8,
Sep: 9,
Oct: 10,
Nov: 11,
Dec: 12
},
parts = timeStamp.split(' ', 4).slice(1),
myStamp;
function pad(val) {
if (val < 10) {
val = '0' + val;
}
return val;
}
parts[0] = months[parts[0]];
parts.unshift(parts.pop());
parts[1] = pad(parts[1]);
parts[2] = pad(parts[2]);
mystamp = parts.join('-');
console.log(mystamp);
输出
2014-02-21
相关问题
- 1. 如何将CRSP日期类型转换为正常日期类型YYMMDD?
- 2. 如何将java日期类型存储为mysql日期类型?
- 3. 如何日期字符串转换为日期数据类型
- 4. 将C#日期时间转换为XML日期时间类型
- 5. T-SQL:将varchar日期列转换为日期类型
- 6. 将英文日期转换为“日期”类型的值?
- 7. 将日期范围转换为R中的日期类型
- 8. 转换日期类型(HTML5)的JavaScript
- 9. 如何解析此日期(/日期(1342622718553-0700)/)日期类型
- 10. 如何将系统日期转换为日期格式转换为日期数据类型
- 11. .Net:DateRange无法转换为类型'日期
- 12. 为什么javascript将我的日期转换为数字类型
- 13. 如何将日期和时间从字符转换为日期时间类型
- 14. SQL:如何将这些日期字符串转换为日期类型
- 15. 如何将日期值转换为日期类型以进行比较?
- 16. 如何将TimeZone格式的日期转换为正常日期?
- 17. 如何将日期时间类型(Jython)转换为java.util.Date?
- 18. 如何将列类型从varchar转换为PostgreSQL中的日期?
- 19. 如何将日期类型转换为MySQL中的hh:mm?
- 20. 如何将日期类型输入转换为时间戳
- 21. 如何将日期类型转换为休眠标准
- 22. 如何将SQL日期类型转换为Java参数
- 23. 如何将这种类型的日期格式转换为Android
- 24. 如何将具有String类型的日期转换为NSDate?
- 25. 将varchar值“ - ”转换为日期类型时转换失败INT
- 26. 如何将varchar列类型转换为日期类型而不会丢失日期
- 27. 如何将字符串日期转换为日期类对象
- 28. 如何JSON日期转换为正常日期的jQuery
- 29. 如何将此格式的日期转换为R中的日期类?
- 30. Freemarker中格式化日期类型日期类型为Unknown
将它分成几部分(拆分可能会有所帮助),然后将它们格式化为你想要的。 – RobG
http://stackoverflow.com/questions/1056728/where-can-i-find-documentation-on-formatting-a-date-in-javascript - dupe? – xyclos