我想使用此字符串04/21/2014 12:00p
在Javascript中创建一个Date对象
传递给构造函数(new Date('04/21/2014 12:00p')
)时,它返回Invalid Date
。
我已经看过其他操作字符串的帖子,以满足有效dateString的要求,但这不是我想要的。我希望Javascript识别我的日期格式(m/dd/yy h:mmt
)。在Java中,类似的东西很简单,我想在Javascript中会有类似的方式。
如何让Date对象识别我的格式?
答案 0 :(得分:4)
仅在使用moment.js这样的库时才这是微不足道的:
var dt = moment("04/21/2014 12:00p","MM/DD/YYYY h:mma").toDate();
否则,您将需要进行大量的字符串操作。此外,您还必须考虑世界上使用m / d / y或其他格式而不是输入字符串的y / m / d格式的部分用户。
如果从某些后端进程发送此字符串,您可以考虑将格式更改为标准交换格式,例如ISO-8601。防爆。 "2014-04-21T12:00:00"
答案 1 :(得分:0)
要操作字符串以满足要求,可能是一种方法,但您需要处理所有浏览器问题。
更快速和更脏的方法是使用moment.js库。它也有助于格式化问题。
答案 2 :(得分:0)
if (String.prototype.dateFromJava == null)
{
String.prototype.fromJava = function (sDateString)
{
var aDateOrTime = sDateString.splt(" ");
var aDateParts = aDateOrTime[0].split("/");
var aTimeParts = aDateOrTime[1].split(":");
var oDate = null;
/* just get the pieces and passing them in to new Date(), return oDate */
}
}