Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 24小时前的相对时间等作为时间_Javascript_Datetime_Highcharts - Fatal编程技术网

Javascript 24小时前的相对时间等作为时间

Javascript 24小时前的相对时间等作为时间,javascript,datetime,highcharts,Javascript,Datetime,Highcharts,我试图用海图来显示过去24小时的一些数据。如本例所示,使用x轴的时间时,图表需要开始时间。我不知道如何告诉它在24小时前开始,例如,如果现在的时间是18日晚上22:34,我希望它在17日晚上22:34开始。我不太擅长与时间和日期相关的代码,JavaScript也不是我的强项。 我相信我需要完成的输出如下: pointStart:Date.UTC(2012,5,17,22,34) 对于上面的示例,但我不太确定如何从Date()获取它 编辑:我不知道为什么它被标记为一个副本,但我试图得到一个相对于当

我试图用海图来显示过去24小时的一些数据。如本例所示,使用x轴的时间时,图表需要开始时间。我不知道如何告诉它在24小时前开始,例如,如果现在的时间是18日晚上22:34,我希望它在17日晚上22:34开始。我不太擅长与时间和日期相关的代码,JavaScript也不是我的强项。 我相信我需要完成的输出如下:
pointStart:Date.UTC(2012,5,17,22,34)
对于上面的示例,但我不太确定如何从Date()获取它


编辑:我不知道为什么它被标记为一个副本,但我试图得到一个相对于当前时间的时间(现在是-24小时),而不是一个相对的字符串表示(“24小时前”)。另一个问题也没有提到高图。

只需从日期中减去24小时内的毫秒数:

new Date (Date.UTC(2012, 5, 17, 22, 34) - 24 * 3600 * 1000)

您应该使用时间戳,因为您可以使用它们进行计算

这是获取当前时间戳的方式:
Math.round(new Date().getTime()/1000)

请注意,这是计算机的本地时间

现在您可以在24小时前获得时间戳,如下所示:

var ts = Math.round(new Date().getTime() / 1000);
var tsYesterday = ts - (24 * 3600);
请看这把小提琴:

编辑:
正如Nick正确指出的,
Date#getTime
返回UTC时间戳()

这实际上相当简单:

var yesterday = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));
只需构造一个新的
日期
,当前时间戳的值减去24小时

(24小时乘以每小时60分钟乘以每分钟60秒乘以每秒1000毫秒)

24小时前:

新日期(Date.now()-86400*1000).toISOString()

  • 现在:
    newdate().toISOString()
  • 输出:
    '2017-02-04T09:15:25.233Z'
  • Date.now()
  • 减去一天中的
    86400
    秒时间
    1000
    以转换为毫秒
  • 输出:
    '2017-02-03T09:14:11.789Z'

  • 谢谢,我不知道我可以使用时间戳。“请注意,这是计算机本地时间。”答案中的免责声明不正确。。Date#getTime是UTC时间戳,为什么会进行否决表决,此解决方案有什么问题?此解决方案显示的不是相对/当前时间的24小时,而是特定的硬编码时间。。问题是从现在起24小时前。