Javascript Unix时间戳转换

Javascript Unix Timestamp Conversion

本文关键字:转换 时间戳 Unix Javascript      更新时间:2023-09-26

我正在使用一个插件,该插件要求将所选日期作为unix时间戳传递,因为它允许您向下搜索。

我遇到的问题是,它创建的UNIX时间戳也被限制在特定的时间段内,所以当我运行查询时,它只会在指定的时间之间获取信息。(我知道时间戳就是这样)。

我生成的时间戳如下:

function myDate(input) {
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 input = input.split('-');
 input[1] = months.indexOf(input[1]);
 return new Date(+input[2], +input[1], +input[0])
}     
var startDate = myDate('01-Apr-2015')
startDate = startDate.getTime() / 1000.0;
alert(startDate)

Fiddle Here:http://jsfiddle.net/rnho8k3s/

我的目标/最终结果是使时间戳从14280192001428105599000,即2015年4月3日00:00:00-2015年4月30日23:59:59

我如何才能实现这一点,而不是从当前时间点创建时间戳?

我为PHP构建了这样的东西,我称之为"DateFrame"。

基本上,您必须捕获所需的日期,附加开始(00:00:00)和结束(23:59:59)时间戳,并使用Javascripts Date类生成时间戳。

也许这会有所帮助。

https://github.com/dmgig/DateFrame

public function __construct($start, $end, $field = null){
    $this->start = date('Y-m-d', strtotime($start)) . ' 00:00:00';
    $this->end   = date('Y-m-d', strtotime($end))   . ' 23:59:59';
    $startdiff   = new DateTime($this->start);
    $enddiff     = new DateTime($this->end);
    $this->diff  = $enddiff->diff($startdiff)->format('%a');
}

要获得一天开始和结束的两个UTC时刻,可以使用以下命令。

//                   Yr   Nov  1st
var begin = Date.UTC(2012, 11, 0);
//                  ms    sec  min  hour
var end = begin + (1000 * 60 * 60 * 24) - 1;