一次性操作



我正试图根据秒数(Unixtime)找出哪一天,但遇到了很大的困难。我认为这一天有86400秒,每一天都应该被86400秒的整除

因此,我将一个数字(Unixtime)除以86400,得到整数部分并乘以86400,我认为正确的结果应该是当天00:00:00,因为Unixtime 0相当于1970年1月1日0:00:00。然而,由于语法错误或逻辑原因,我未能获得预期结果,每86400秒应该提前一天。

例如:2013年11月27日00:00:00,等于(Unixtime)1385517600。如果我把(Unixtime)1385517600 86400除以ll 16036.0833333333,结果是。如果我将整个部分16036乘以86400,结果将是(Unixtime)1385510400。Unixtime(Unixtime)等于1385510400,日期为2013年11月26日22:00:00。

在这种情况下,我预计的是2013年11月27日00:00:00统一时间,因为最后一个日期正好是00:00:00下午,所以我预计这个数字是86400的倍数。

由于小时工作非常完美,我需要这样做,以便能够将数据分组为分钟、小时、天或周的间隔。因此,这将是很简单的,我将只在秒的范围内工作。

60分钟时间3600第604800天第604800周

测试:在MySQL中,我执行:SELECT UNIX_TIMESTAMP('2013-11-27 00:00:00'),'2013-11-2700:00:01',FLOOR((UNIX_TIMESTAMP('201311-2700:00.00')/86400))*86400,FROM_UNIXTIME(FLOOR(UNIX_IMESTAMP('2013-11-270:0:00';结果为:"1385517600","2013-11-27 00:00:00","1385510400","2013-11-26 22:00:00"

1385517600实际上是27/11/2013 02:00:00,而138551040027/11/2013 00:00:00。所以你的算法是正确的。在Mac操作系统上:

$ date -u -r 1385517600
Wed Nov 27 02:00:00 UTC 2013
$ date -u -r 1385510400
Wed Nov 27 00:00:00 UTC 2013

MySQL from_UNIXTIME:文档摘录

... The value is expressed in the current time zone. ...

最新更新