【问题标题】:How to take only part of the javascript timestamp如何仅获取部分 javascript 时间戳
【发布时间】:2014-09-30 16:07:49
【问题描述】:

我有一个Tue Sep 30 2014 12:02:50 GMT-0400 (EDT)的js时间戳

使用 .getTime() 我得到了1412092970.768

在大多数情况下,它是今天的特定时间戳。我想知道,如果我总是只能选择日期月份和年份和小时,分钟,天将始终保持为 0。

所以对于我们的情况,它应该变成Tue Sep 30 2014 00:00:00 GMT-0400 (EDT)

我想知道我应该做什么样的转换?因为似乎使用 getTime() 转换为 unix 时间戳会导致未知的计算方式......而且我真的找不到像在 PHP 中那样设置时间的方法。

这种情况有什么解决办法吗?

谢谢

【问题讨论】:

  • 因此更改日期对象以将其设置为您想要的确切时间。如果您阅读documentation,您会发现如何
  • .getTime() 应该产生1412092970768 - 在javascript中是毫秒

标签: javascript date datetime unix-timestamp


【解决方案1】:

您可以创建一个日期对象,然后将您不需要的任何组件清零,或者使用您指定的组件创建一个,例如

foo = new Date();
foo.setHour(0);
foo.setMinute(0);

或类似的东西

foo = new Date(); // "now"

bar = new Date(foo.getYear(), foo.getMonth(), foo.getDate(), 0 , 0, 0, 0);
// create new date with just year/month/day value, and time zeroed-out.

构造函数的参数详解在这里:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

【讨论】:

    【解决方案2】:

    另一种选择是将纪元发送到 PHP:

    JS:

    long epoch = System.currentTimeMillis()/1000;
    

    PHP:

       $dt = new DateTime("@$epoch");   
       $dt->format('Y'); //year
    

    【讨论】:

      猜你喜欢
      • 2021-07-20
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多