-5
A
回答
0
你可以这样做:
$diff = date_create()->diff(new DateTime("first day of January ".date("Y")));
$hours = $diff->format("%a")*24 + $diff->h;
如这里要求的处理夏令时的方式:
$transitions = (new DateTimeZone(date_default_timezone_get()))->getTransitions();
$thisYearsTransitions = array_values(array_filter($transitions, function ($v) {
return substr($v["time"],0,strlen(date("Y"))) == date("Y");
}));
if (count($thisYearsTransitions) == 2 && date_create($thisYearsTransitions[0]) < date_create() && count($thisYearsTransitions)>0 && date_create($thisYearsTransitions[1]) > date_create()) {
$hours = $hours + ($thisYearsTransitions[0]["offset"]-$thisYearsTransitions[1]["offset"] > 0?1:-1);
}
这样做会得到今年的DST转换,如果当前日期在第一次和第二次转换之后下降,它将增加/减少一小时(取决于时区)。不知道这是否会奏效,还没有测试过,但它应该。
相关问题
- 1. Php年月计算
- 2. 如何从两次计算两小时?
- 3. 小时计算在php
- 4. 计算人的年龄从PHP
- 5. PHP:从年龄开始计算生日
- 6. 如何从D.O.B计算年龄?
- 7. 如何计算使用php进入我的年龄的年份
- 8. R:计算年初至今的金额
- 9. jQuery年龄计算不计算闰年
- 10. 你如何计算初始高度的弹丸位移?
- 11. PHP/MYSQL时间表计算从进出的小时
- 12. 计算往年
- 13. 计算年龄
- 14. 如何计算数目小时9
- 15. 如何计算每半小时?
- 16. NSTimer计算小时
- 17. 计算总小时
- 18. 计算总小时
- 19. 如何从PDF计算字体大小在PHP
- 20. 计算小计时出错
- 21. PHP计算人的当前年龄
- 22. 如何计算php
- 23. 从php的时区计算时间
- 24. 两年内发票存在时按年份计算总计
- 25. 如何计算Oracle SQL中的年龄
- 26. 如何计算某人的年龄?
- 27. 如何计算BigQuery中的年龄?
- 28. 如何计算ios中的年龄?
- 29. 如何计算查询中的年龄?
- 30. 如何计算已婚年数?
谷歌php时差(小时) – scaisEdge
你看过http://carbon.nesbot.com? – Mike
PHP5.1不完全是你的事情的出血边缘。这不符合你的SO手柄。也许'Last Millenia Software'会更合适 – RiggsFolly