Javascript 解析和转换日期时间字符串

Javascript 解析和转换日期时间字符串,javascript,parsing,date,Javascript,Parsing,Date,我有一个从中获取字符串的SharePoint页面,我想在另一个页面上显示它。字符串的格式如下:MM/DD/YYYY HH:MM:SS TT。我想把它改为mmmdd,yyyy解析日期字符串非常简单。似乎你不在乎时间,所以你只需要重新格式化日期部分: function formatDateString(s) { var b = s.split(/\D+/g); var months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.spl

我有一个从中获取字符串的SharePoint页面,我想在另一个页面上显示它。字符串的格式如下:
MM/DD/YYYY HH:MM:SS TT
。我想把它改为
mmmdd,yyyy

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

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
您还可以解析字符串以创建日期对象,然后格式化:

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

什么是嗯?一个月?您想要八月/五月/九月/日吗?看一看momentjs:我相信tt表示上午或下午。mmm将是一个月(一月、二月、三月等),谢谢Rob。明天早上我要试一试。我感谢你的帮助!感谢@Rocket Hazmat的链接。时区代码将非常方便。&罗布,谢谢你的代码。工作得很有魅力。感谢@Rocket Hazmat提供的时区代码指针。它将派上用场,因为我们有跨越多个时区的项目。