为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP 将日期和时间转换为其他日期和时间

使用 PHP 将日期和时间转换为其他日期和时间

PHP
蝴蝶刀刀 2022-01-14 16:09:58
我2019-11-26T16:30:00+01:00从 API 获取格式的日期,并希望将其转换为Di. 26. Nov. 2019 / 16:30.我正在使用以下代码,但总是有 1 小时的差异:Di. 26. Nov. 2019 / 15:30 Uhr.如果我使用2019-11-26T16:30:00+02:00- 我会得到Di. 26. Nov. 2019 / 14:30 Uhr(提前 2 小时)。这是我的php代码:$timstp = strtotime('2019-11-26T16:30:00+1:00');echo date('d.m.Y H:i:s', $timstp);我怎样才能得到正确的日期?
查看完整描述

2 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

使用 DateTime 类。format 方法以英文返回结果。


$input = '2019-11-26T16:30:00+1:00';

$date = date_create($input)->format('D. d. M. Y /H:i \U\h\r');

echo $date;  //Tue. 26. Nov. 2019 /16:30 Uhr

对于其他语言(如德语)的输出,我推荐 DateTime 扩展类dt。


$input = '2019-11-26T16:30:00+1:00';

$date = dt::create($input)->formatL('D d. M Y / H:i \U\h\r','de_DE');

echo $date; //Di. 26. Nov. 2019 / 16:30 Uhr

更新:


API 是否从不同时区获取条目?如果是这样,问题是需要什么?时区的本地时间或可比性的唯一时基?上面的示例显示了时区的本地时间。要创建一个唯一的基础,DateTime 对象可以如何转换为不同的时区 UTC。


$input = '2019-11-26T15:30:00+5:00';

$date = date_create($input)

  ->setTimeZone(new DateTimeZone('UTC'))

  ->format('D. d. M. Y / H:i:s')

;

echo $date;  //Tue. 26. Nov. 2019 / 10:30:00


查看完整回答
反对 回复 2022-01-14
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

试试这个


$datetime = new DateTime('2019-11-26T16:30:00+1:00');

echo $datetime->format('d.m.Y H:i:s');

在此处查找有关 DateTime 的更多详细信息


查看完整回答
反对 回复 2022-01-14
  • 2 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信