我正在从事一个项目,该项目要求我以语言环境格式列出一天中的 24 小时。
这是我的:
$time_fmt = datefmt_create(ICL_LANGUAGE_CODE, IntlDateFormatter::LONG, IntlDateFormatter::LONG, '', IntlDateFormatter::GREGORIAN, 'H:i');
echo datefmt_format($time_fmt, mktime(1, 0));
这似乎应该是 01:00 或 1:00am,具体取决于语言环境。但是,它输出的是“8:”。
如何使用 datefmt_create() 和 dtefmt_format() 以语言环境格式列出一天中的 24 小时?
最佳答案
像这样的东西应该可以工作
$time = strtotime('English Date With Time');
date_default_timezone_set('America/Los_Angeles or wherever');
echo date('H:i', $time);
如果您只计算小时数,而不是日期,那么只需知道您所在的时区即可。将所有内容转换为 UTC 并做一些对 24 取模的数学运算。
关于基于语言环境的 php 输出时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18649936/