如何从日期和时间创建时间戳

时间:2014-01-22 04:55:31

标签: javascript jquery datetime timestamp jquery-ui-datepicker

我的视图中有一个日期选择器和一些时间段。时间段是复选框,复选框的值应该是一个时间戳,我的目标是通过组合datepicker的值和用户检查的复选框槽来获得。有没有办法使用jquery的javascript做到这一点。

示例:

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

2 个答案:

答案 0 :(得分:3)

我不清楚你在这里究竟要找什么,但只是用毫秒(从1970年1月1日午夜,以及标准)获得字符串格式的基本时间戳,你可以这样做使用vanilla 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" */

答案 1 :(得分:2)

尝试

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

演示:Fiddle

要以毫秒为单位,请使用date.getTime()