我正在制作一个时间计算器,它可以在UTC时区中添加或减去当前时间的天,小时和分钟,或者存储在MySQL数据库中的用户定义日期.我目前的代码有效,但我无法弄清楚如何调整时间格式.
码:
$days = "+2 days";
$hours = "+1 hours";
$minutes = "+5 minutes";
$time = new DateTime(); // assumes current time
$time->setTimezone(new DateTimeZone('Europe/London'));
$time->modify("$days, $hours, $minutes");
echo $time->format("g:i A l jS F"); // outputs time
Run Code Online (Sandbox Code Playgroud)
输出:
11:48 PM Sunday 4th January
使用适当的格式是什么,让解释器输出日期为"1月4日星期日下午11:48"?添加"N"和"J"等字符会使日期陷入混乱(和/或加扰),即使在使用一个或多个"\"进行转义时也是如此.奇怪的是,这不会发生在半个字母表中......
我一直在搜索互联网,但没有找到解释这种现象的答案.
感谢帮助!
Riz*_*123 11
这应该适合你:
echo $time->format("g:i A \o\\n l \\t\h\\e jS F"); // outputs time
Run Code Online (Sandbox Code Playgroud)
\o 正常转义所以它打印成一个字母而不是格式说明符 \\n 换行符(hex 0A) - >所以双重逃避它不是一个新行\\t tab(hex 09) - >所以双重逃避它不是一个标签\h 正常转义所以它打印成一个字母而不是格式说明符\\e 逃脱(十六进制1B) - >所以双重逃脱它不是逃避请参阅有关的详细信息Escape sequences:http://php.net/manual/en/regexp.reference.escape.php