我对日期对象中的单独year
有疑问。我刚刚知道每当我将String传递给DATE对象时,我的年份会增加1或2。
例如。
var licenceStartDateConv = new Date(licenceStartDate);
var licenceStartDateYear = licenceStartDateConv.getUTCFullYear();
当我通过licenceStartDate =“13/08/2011
”时,该函数会返回 licenceStartDateYear = Sun Jan 8 00:00:00 UTC+0500 2012
而不是2011
。为什么会这样?
有人可以解决这个问题吗?我将非常感谢你们。 在此先感谢。
答案 0 :(得分:1)
如果您使用“xx / yy / zzzz”格式向Date构造函数提供日期字符串,它将被解析为“mm / dd / yyyy”,正如Ankit在原始问题中指出的那样。您必须解析日期字符串以拉出日,月和年,并使用这些创建Date对象。
例如:
// Parse the date using a regular expression.
var dateFields = /(\d\d)\/(\d\d)\/(\d{4})/.exec("13/08/2011");
licenceStartDateConv = new Date(dateFields[3], dateFields[2]-1, dateFields[1]); // -1 on month to account for offset.