我有一个日期字符串,想要将其转换为日期对象,添加2小时并将转换后的日期对象打印回变量。但我得到下面列出的错误:
// dateTime: 2013-09-27 09:50:05
var dateTime = $("#inputDatetime").val();
var startDate = dateTime;
var date = new Date(startDate);
var duration = 2;
var endDate = date;
endDate.setHours(date.getHours()+duration)
var dateString = endDate.format("dd-m-yy hh:mm:ss");
错误:
Uncaught TypeError: Object [object Date] has no method 'format'
为什么我会收到这个TypeError?
答案 0 :(得分:3)
Vaibs, 没有方法“格式”,您可以使用Date Object中的可用方法进行格式化。 请不要使用插件
示例:
// dd-mm-yy hh:mm:ss
function formatDate(date) {
return ((date.getDate()<10?'0':'')+date.getDate()) + "-"+
(((date.getMonth()+1)<10?'0':'') + (date.getMonth()+1)) + "-" +
date.getFullYear() + " " +((date.getHours()<10?'0':'')+date.getHours()) + ":" +
(date.getMinutes()<10?'0':'') + date.getMinutes() + ":" +
(date.getSeconds()<10?'0':'') + date.getSeconds();
}
*谢谢你@donot
答案 1 :(得分:1)
使用jquery ui date parser。
http://docs.jquery.com/UI/Datepicker/parseDate
这是解析我喜欢在js中工作的字符串日期的最佳函数。当你添加标签jquery时,它可能是你的最佳解决方案。
答案 2 :(得分:0)
.format()不是有效的Date方法。 JavaScript没有一种简单的方法来使用用户指定的格式格式化日期和时间。你可以做的最好的(没有单独的插件)是通过分别获取日期的每个组件,并格式化/连接它们来创建自己的字符串。
答案 3 :(得分:0)
我以前用过这个,似乎有效!
var dateString = endDate.toString("dd-m-yy hh:mm:ss");