PHP 日期时间 (DST) 错误?

标签 php datetime

我必须返回当前月份和上个月。

今天,3月31日,两个月都是一样的。 (夏令时)

ini_set( 'date.timezone', 'Europe/Brussels' );

$now = new DateTime(null, new DateTimeZone('Europe/Brussels'));

$thisYearMonth = $now->format('Y-m');
$prevYearMonth = $now->modify('-1 month')->format('Y-m');

两者都返回“2014-03”。

有什么建议吗?

最佳答案

因为二月的天数较少,所以你需要应用一些日期魔法:

$prevYearMonth = $now->modify('first day of last month')->format('Y-m');

关于PHP 日期时间 (DST) 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22759831/

相关文章:

php - 如何合并两个关联数组,同时保留它们的键?

php PDO::FETCH_ASSOC 在存储过程中备份后未检测到选择

php - 加密解密环境变量

javascript - 时间戳日期和时间格式 - Apps 脚本 - 格式化日期和时间

c# - DateTime.ParseExact 格式问题

php - Varnish 一直缺少缓存,cookies?

php - Symfony2 和 Doctrine2 : how to get all tags for a post?

php - CodeIgniter:表单的时间选择器

datetime - 了解 elasticsearch 如何在内部存储日期

php - 如何在 Laravel 5.2 MongoDB 中的 Sub Json 文档中存储 Carbon DateTime ISO 对象