当我提取月度报告时,它只显示从本月2日到本月最后一天的条目。例如,4月份的报告仅显示:
2012年2月4日-2012年4月29日
我可以修改什么来显示条目:
2012年1月4日至2012年4月30日
$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()进行转换TIMESTAMP值和Unix时间戳值之间的转换为有损,因为映射在两个方向上不是一对一的。对于例如,由于本地时区更改的约定两个UNIX_TIMESTAMP()可以将两个TIMESTAMP值映射到相同的Unix时间戳值。FROM_UNIXTIME()将该值映射回只有一个原始TIMESTAMP值。
请参见此处。
如果你想拥有unix_timestamps而不考虑时区,你可以自己计算。
在MySQL中:
从时间戳到唯一时间:
SELECT timestampdiff(second, '1970-01-01', yourTimestampColumnOrValue);
另一种方式
SELECT timestampadd(second, yourTimestampColumnOrValue, '1970-01-01');
有关SQL Server,请参阅此链接。