JQuery datetime到毫秒

时间:2012-03-24 18:19:16

标签: javascript jquery datetime

我有一个Web应用程序,我希望将信息发送到数据库。

我有一个日期选择器,可让用户选择日期并将日期格式设为"YYYY-MM-DD"。除此之外,用户还必须使用timepicker选择时间,将时间格式设为"HH:MM"。这会被DateTime连接成"YYYY-MM-DD HH:MM"字符串。

我需要将此转换为毫秒,以便将datetime接受为数据库上的正确格式(YYYY-MM-DD HH:MM:SS.mmm的语言环境格式)。

我在这里和其他地方尝试了大量的解决方案,尝试转换为毫秒。每当我尝试连接然后转换我通常会收到NaN错误或“无效日期”,我不能简单地添加转换后的毫秒数。

有没有办法在jQuery或JavaScript中执行此操作?

6 个答案:

答案 0 :(得分:5)

>> var datetime = new Date();
undefined
>> datetime.getTime();
1332613433314
  

Date.getTime()返回自1970/01/01以来的毫秒数:

但这应该在服务器端处理。

答案 1 :(得分:3)

我设法自己解决这个问题。感谢那些回答的人。它不是一个理想的解决方案,但它确实有效。

var d = $("#date").val();
var dateParts = new Date((Number(d.split("-")[0])), (Number(d.split("-")[1]) - 1), (Number(d.split("-")[2])));
var dateis = dateParts.getTime();

var timeEnd = $("#endtime").val();
var time1 = ((Number(timeEnd.split(':')[0]) * 60 + Number(timeEnd.split(':')[1]) * 60) * 60) * 1000;

var timeStart = $("#starttime").val();
var time2 = ((Number(timeStart.split(':')[0]) * 60 + Number(timeStart.split(':')[1]) * 60) * 60) * 1000;

var dateTimeEnd = dateis + time1;
var dateTimeStart = dateis + time2;

这基本上做的是从日期选择器获取日期,从时间选择器获取开始和结束时间。 ajax接受2个日期时间,一个用于开始,一个用于结束。上述解决方案基本上从​​输入值获取所有值,并将其转换为毫秒。这不是最好的做事方式,但它是一个快速解决方案。

答案 2 :(得分:3)

我没有意识到你的实际问题,但是我已经制作了一个代码,将datepicker设置为最小选定日期,因为今天代码如下:

$("#datefield").datepicker({
    dateFormat:"yy-mm-dd",
    minDate:new Date(new Date().getTime())
});

new Date().getTime()的返回值是1970/01/01 05:30 am(作为我的系统)的毫秒数

答案 3 :(得分:1)

您可以使用JavaScript Date对象吗?

您可以像这样使用它: var d = new Date(yyyy, MM, dd, hh, mm, 0, 0).getTime();

初始化 Date 对象,然后使用 getTime 函数返回自1970年1月1日以来的毫秒数。

答案 4 :(得分:1)

$( “#的DateField”)日期选择器( “GETDATE”)的getTime();会做的伎俩

答案 5 :(得分:0)

我会在服务器端执行此操作并使用strtotime函数转换为时间戳,这将为您提供一些秒数,如果您确实需要某种脚本的毫秒数:1秒= 1000毫秒

如果有任何问题,您可以使用jquery来验证您是否会在执行此操作之前向服务器端脚本发送有效的日期时间。