在JAVASCRIPT中从日期对象分离年份
我有一个关于从日期对象中分离在JAVASCRIPT中从日期对象分离年份,javascript,date,datetime,Javascript,Date,Datetime,我有一个关于从日期对象中分离年份的问题。我刚刚知道,每当我将字符串传递给DATE对象时,我的年份就会增加1或2。 比如说 var licenceStartDateConv = new Date(licenceStartDate); var licenceStartDateYear = licenceStartDateConv.getUTCFullYear(); 当我通过LicenseStartDate=“13/08/2011”时,函数将返回我LicenseStartDateYear=Sun J
年份的问题。我刚刚知道,每当我将字符串传递给DATE对象时,我的年份就会增加1或2。
比如说
var licenceStartDateConv = new Date(licenceStartDate);
var licenceStartDateYear = licenceStartDateConv.getUTCFullYear();
当我通过LicenseStartDate=“13/08/2011
”时,函数将返回我LicenseStartDateYear=Sun Jan 8 00:00:00 UTC+0500 2012
,而不是2011
。为什么会这样
有人能解决这个问题吗?我将非常感谢你们这些人。
提前感谢。如果您使用“xx/yy/zzzz”格式向日期构造函数提供日期字符串,它将被解析为“mm/dd/yyyy”,正如Ankit在原始问题中指出的那样。您必须解析日期字符串以提取日期、月份和年份,并使用它们创建日期对象
例如:
// 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.
这个函数已经被弃用了,我搜索了很多,然后我得出结论来问这个问题。你给出了一个否定的观点,有一个日期格式的问题。Monrths超过12个,这就是为什么今年即将到来的原因。请尝试更正您的日期格式。我无法更正,因为使用的日期格式是英国的dd/mm/yyyy,而在美国是其mm/dd/yyyy。请提供您的日期为2011年8月13日。当我在javascript中使用数据函数时,我更喜欢使用时间戳,这样就不会产生混淆。