2014-09-04 77 views
-1

我有一个SharePoint页面,我得到一个字符串,我想在另一个显示它。字符串格式如下:MM/DD/YYYY HH:MM:SS TT。我想将其更改为mmm dd, yyyy解析并转换日期时间字符串

+0

什么是嗯?月?你想要八月/五月/九月/ ...? – 2014-09-04 22:06:15

+3

看一下momentjs:http://momentjs.com/ – 2014-09-04 22:11:19

+1

什么是“TT”?.. – RobG 2014-09-04 22:40:24

回答

0

解析日期字符串非常简单。看来你不在乎的时候,所以你只需要重新格式化的日期部分:

function formatDateString(s) { 
    var b = s.split(/\D+/g); 
    var months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' '); 
    return months[--b[0]] + ' ' + b[1] + ', ' + b[2]; 
} 

console.log(formatDateString('08/23/2014 23:32:01 AM')); // Aug 23, 2014 

您也可以解析字符串创建Date对象,然后格式化:

function parseDateString(s) { 
    var b = s.split(/\D+/g); 
    var h = b[3]%12 + (('' + b[6]).toLowerCase() == 'am'? 0 : 12); 
    return new Date(b[2], --b[0], b[1], h, b[4], b[5]); 
} 

// Where the local timezone offset is UTC +10:00 
console.log(parseDateString('08/23/2014 23:32:01 AM').toISOString()); // 2014-08-23T13:32:01.000Z 
+0

感谢罗布。明天早上我会说一声。我感谢您的帮助!感谢@Rocket Hazmat的链接。时区代码将非常方便。 – brentfraser 2014-09-05 01:41:54

+0

&RobG,感谢您的代码。像魅力一样工作。感谢@Rocket Hazmat也提供了指向时区代码的指针。它会派上用场,因为我们有跨越多个时区的项目。 – brentfraser 2014-09-05 14:35:13