Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JAVASCRIPT中从日期对象分离年份_Javascript_Date_Datetime - Fatal编程技术网

在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中使用数据函数时,我更喜欢使用时间戳,这样就不会产生混淆。