什么是以以下格式yyyy-dd-mm(在datepicker设置中为yy-dd-mm)获取日期选择器日期并将其转换为使用Java时代的最佳方式?
我正在尝试这样做:
var aDate = $("#date").val().split('-');
var epoch = new Date(aDate[0] + "," + aDate[1] + "," + aDate[2]).getTime() / 1000;
然后
console.log(epoch)
返回为NaN
。但是,如果我将epoch声明为
new Date(2011,10,30).getTime() / 1000;
,那么就没有问题。我猜问题是我传入了一个字符串,但是我不知道如何解决它,因为我是Java语言的新手。
编辑:我知道datepicker中的
altDate
和altFormat
设置。但是我想知道如何在不使用这些设置的情况下进行操作。因为稍后我将不得不做上面描述的日期和时间操作。 最佳答案
尝试将日期构造函数更改为此:
var epoch = new Date(aDate[0], aDate[1] - 1, aDate[2]).getTime() / 1000;
我们删除了字符串串联,因此它应该正确读取日期。月表示为
aDate[1] - 1
,因为JavaScript中的月号是从零开始的(一月= 0,十二月= 11),因此需要从月号中减去1。您可以在此处找到一个有效的示例:http://jsfiddle.net/Qpg24/67/