Php 按月unix时间戳问题
当我拉一份月度报告时,它只显示从每月第2天到月末前一天的条目。例如,4月份的报告仅显示: 2012年4月2日至2012年4月29日 我可以修改什么以显示条目: 2012年1月4日至2012年3月30日Php 按月unix时间戳问题,php,sql,unix-timestamp,Php,Sql,Unix Timestamp,当我拉一份月度报告时,它只显示从每月第2天到月末前一天的条目。例如,4月份的报告仅显示: 2012年4月2日至2012年4月29日 我可以修改什么以显示条目: 2012年1月4日至2012年3月30日 $month = $_GET['month']; if ($services = $db->get_results("SELECT * from vw_newservices where month(from_unixtime(datetime)) = '$month'")) { f
$month = $_GET['month'];
if ($services = $db->get_results("SELECT * from vw_newservices where month(from_unixtime(datetime)) = '$month'")) {
foreach ($services as $service) {
$datetime = date("m/d/y",$service->datetime);
感谢手册中的:
注意:如果使用UNIX_TIMESTAMP()和FROM_UNIXTIME()进行转换
时间戳值和Unix时间戳值之间的转换是
有损,因为映射在两个方向上不是一对一的。对于
例如,由于本地时区更改的约定,它是
两个UNIX_TIMESTAMP()可以将两个时间戳值映射到
相同的Unix时间戳值。FROM_UNIXTIME()将该值映射回
只有一个原始时间戳值
看
如果您想在不考虑时区的情况下使用unix_时间戳,您可以自己计算
在MySQL中:
从时间戳到unixtime:
SELECT timestampdiff(second, '1970-01-01', yourTimestampColumnOrValue);
相反
SELECT timestampadd(second, yourTimestampColumnOrValue, '1970-01-01');
有关SQL Server的信息,请参见手册中的以下内容:
注意:如果使用UNIX_TIMESTAMP()和FROM_UNIXTIME()进行转换
时间戳值和Unix时间戳值之间的转换是
有损,因为映射在两个方向上不是一对一的。对于
例如,由于本地时区更改的约定,它是
两个UNIX_TIMESTAMP()可以将两个时间戳值映射到
相同的Unix时间戳值。FROM_UNIXTIME()将该值映射回
只有一个原始时间戳值
看
如果您想在不考虑时区的情况下使用unix_时间戳,您可以自己计算
在MySQL中:
从时间戳到unixtime:
SELECT timestampdiff(second, '1970-01-01', yourTimestampColumnOrValue);
相反
SELECT timestampadd(second, yourTimestampColumnOrValue, '1970-01-01');
有关SQL Server的信息,请参见此