如何只获取部分javascript时间戳

时间:2014-09-30 16:07:50

标签: javascript date datetime unix-timestamp

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

使用.getTime()我得到了1412092970.768

对于大多数情况来说,它是今天的特定时间戳。我想知道,如果我总是只能选出当天的月份和年份,那么最小值,每天将始终保持为0。

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

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

针对这种情况的任何修复?

由于

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

另一个选择是将纪元发送给PHP:

JS:

long epoch = System.currentTimeMillis()/1000;

PHP:

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