2014-01-22 82 views
0

我有一个日期选择器和一些时间段在我看来。时间段是复选框,复选框的值应该是一个时间戳,我希望通过组合datepicker的值和用户检查的复选框插槽来获取时间戳。有没有什么办法使用jquery的javascript来做到这一点。如何从日期和时间创建时间戳

例子:

$('#inline_datepicker').datepicker("getDate") + "02:30PM" => create timestamp 
+0

你需要什么格式的时间戳? – Foreever

+0

可能的重复[你如何在JavaScript中获取时间戳?](http://stackoverflow.com/questions/221294/how-do-you-get-a-timestamp-in-javascript) – Foreever

回答

2

尝试

var date = $('#inline_datepicker').datepicker("getDate"); 
//24 hour clock 
date.setHours(14, 30); 
console.log(date) 

演示:Fiddle

为了让时间以毫秒为单位使用date.getTime()

+0

可能想提及' date.getTime()'如果OP特别想要一个时间戳 – Phil

+0

@Phil是.... –

+0

这是为什么downvoted? – Phil

3

我不清楚在什么你”重新寻找这里,但只是得到一个基本的时间戳在圣使用毫秒环格式(从1970年1月1日午夜,由于是标准),则可以只做到这一点使用香草的javascript:

var timestamp = new Date(2014,1,3,18).getTime(); 

格式为YYYY/MM/DD/HH,并根据是零而且如果你是来自美国的话,这些时间会使用24小时制,也称为军事时间。上面的例子给出了2014年2月4日下午6点的时间戳。

然后,您也可以通过将时间添加到该值来为时间戳添加时间。 1天24小时,1小时60分钟,1分钟60秒,1秒1000毫秒。创建一个时间戳后,这意味着,如果你想增加4天,13小时,49分6秒,你可以这样做:

var timestamp = new Date(2014,1,3,18).getTime(); 
timestamp += (((4*24+13)*60+49)*60+6)*1000; 

最后,你总是可以重新转换为人类可读的时间戳使用.toUTCString()方法与创建新的Date对象一起使用。最终的代码会这样读取:

var timestamp= new Date(2014,1,3,18).getTime(); 
console.log(new Date(timestamp).toUTCString()); 
/* Outputs "Sun, 04 Feb 2014 18:00:00 GMT" */ 

timestamp += (((4*24+13)*60+49)*60+6)*1000; 
console.log(new Date(timestamp).toUTCString()); 
/* Outputs "Sun, 09 Feb 2014 07:49:06 GMT" */ 
+0

如果您在计算中遇到任何问题,我会很乐意将它切换到变量和/或向您展示如何将它放入函数中。 –