>我有一个字符串的日期 - dtStr
var dtStr = "Thu May 28 02:13:16 BDT 2015";
我想从dtStr
中获取类似 - MM DD YYYY HH mm
格式的日期。为了得到这个,我正在尝试将dtStr
转换为Date
,然后尝试使用这样的日期格式 -
var dtStr = "Thu May 28 02:13:16 BDT 2015";
today = new Date(dtStr);
alert( today.toLocalDateFormat("MM DD YYYY HH mm") );
但这对我不起作用。任何人都可以帮助我 - 将dtStr
转换为格式为 MM DD YYYY HH mm
的日期?
提前谢谢。
不幸的是,您尝试解析的字符串不会被 Date.parse()
接受,该方法将在您创建字符串时解析字符串。如果字符串始终采用该格式,则可以执行一些字符串操作并将其重新排列为Date()
可以处理的 RFC2822/IETF 格式。
// this creates a proper Date object
new Date("Thu, May 28 2015 02:13:16 +0600");
或者,您可以使用其他构造函数之一创建新的 Date 对象,方法是自己拆分/解析字符串,并将它们插入构造函数中的正确位置。
此时,您将拥有一个 Date 对象,但您仍然需要从中获取值 - 唯一可以执行类似您尝试执行的操作的内置方法是 toLocaleFormat()
,这不是标准轨道(例如,在我的 Chrome 版本中不支持它(。因此,您需要独立获取值,并将它们连接在一起。
此时,直接解析字符串并完全跳过 Date 对象或使用像 datejs 这样的库可能更容易,它支持格式化输出字符串。
您可以尝试使用以下方法 -
function formatReview(date){
/*****************************************************************
* The method parameter 'date' is in the following format -
* "Thu May 28 02:13:16 BDT 2015"
* Javascript 'new Date()' has not suitable constructor to
* support this format. The parameter 'date' need to
* convert to fee the Date() constructor.
*******************************************************************/
var monthSymbols = "JanFebMarAprMayJunJulAugSepOctNovDec";
var elements = date.split(" ");
var day = elements[0];
var monthName = elements[1];
var monthIndex = monthSymbols.indexOf(monthName)/3 +1;
var date = elements[2];
var year = elements[5];
var timestamp = elements[3];
var timestampElements = timestamp.split(":");
var hour = timestampElements[0];
var minutes = timestampElements[1];
var dateString = monthIndex +"-"+ date +"-"+ year +" "+ hour +":"+ minutes;
return dateString;
}
试试这个
var todayDate=new Date("Thu May 29 2014 13:50:00");
var format ="AM";
var hour=todayDate.getHours();
var min=todayDate.getMinutes();
if(hour>11){format="PM";}
if (hour > 12) { hour = hour - 12; }
if (hour == 0) { hour = 12; }
if (min < 10){min = "0" + min;}
document.write(todayDate.getMonth()+1 + " / " + todayDate.getDate() + " / " + todayDate.getFullYear()+" "+hour+":"+min+" ");
小提琴:http://jsfiddle.net/e0ejguju/