我收到错误:
Statdate.getFullyear() is not a function.
从这个javascript代码:
var start = new Date();
start = document.getElementById('Stardate').value ;
var y = start.getFullYear();
知道为什么这个功能不可用?
答案 0 :(得分:41)
试试这个......
var start = new Date(document.getElementById('Stardate').value);
var y = start.getFullYear();
答案 1 :(得分:24)
获取此错误的一种方法是在javascript中实例化日期时忘记使用'new'关键字:
> d = Date();
'Tue Mar 15 2016 20:05:53 GMT-0400 (EDT)'
> typeof(d);
'string'
> d.getFullYear();
TypeError: undefined is not a function
如果您使用'new'关键字,它将如下所示:
> el@defiant $ node
> d = new Date();
Tue Mar 15 2016 20:08:58 GMT-0400 (EDT)
> typeof(d);
'object'
> d.getFullYear(0);
2016
获取该错误的另一种方法是在设置它和使用它时在javascript中意外地重新实例化变量,如下所示:
el@defiant $ node
> d = new Date();
Tue Mar 15 2016 20:12:13 GMT-0400 (EDT)
> d.getFullYear();
2016
> d = 57 + 23;
80
> d.getFullYear();
TypeError: undefined is not a function
答案 2 :(得分:22)
您正在使用ID为start
的DOM元素的value
覆盖Startdate
日期对象。
这应该有效:
var start = new Date(document.getElementById('Stardate').value);
var y = start.getFullYear();
答案 3 :(得分:0)
以上答案都是正确的。我只想强调我做错的一件事。
在创建日期对象时,我使用了 OkHttpClient client = new OkHttpClient();
String url = "http://localhost:9000/testget";
String output = run(url);
logger.info("Response is: " + output);
}
String run(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.addHeader("Content-type", "application/json")
.build();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
}
}
,这是引发此错误的主要原因。
因此,如果您正在应用 new date().toISOString()
,请不要以本地字符串格式更改日期对象。