将日期字符串对象转换为另一种格式

时间:2013-07-15 21:30:19

标签: javascript date timestamp

'Mon, 15 Jul 2013 14:27:39 -0700'

这是我必须使用的格式。我不确定它的格式是什么。

但是,我想将它转换为这样的字符串:

On Mon, 15 Jul 2013 at 2:27pm

我不想使用基本正则表达式或拆分空格。我想知道正确的“约会”转换方式

1 个答案:

答案 0 :(得分:1)

jsFiddle Demo

这看起来像是一种情况,你必须根据知道输入的确切格式进行一些自定义格式化。你应该采用滑动窗口方法,使用带有硬编码格式知识的子字符串。

(为了简洁起见,我在这里使用了jQuery。请注意,实际的格式是纯粹的javascript。)

var t = $("#date").text();
$("#sol").html(function(){
 var result = "On ";
 var sub = t.substr(0,17);
 t = t.substr(17);
 result += sub + "at ";
 var pre = t.substr(0,2);
 t = t.substr(2,3);
 var suffix = "am";
 if( parseInt(pre) > 11 ){
   suffix = "pm";
   if( pre != 12 ){
     pre = parseInt(pre) - 12;   
   }
 }
 result += pre + t + suffix;
 return result;
});