php-使用strftime格式化时间
我使用strftime在多语言网站上格式化mysql datetime col中的时间。 我的目标是得到这个,就像“十进制时间”: 而不是sg。就像这样:php-使用strftime格式化时间,php,datetime,date-format,strtotime,strftime,Php,Datetime,Date Format,Strtotime,Strftime,我使用strftime在多语言网站上格式化mysql datetime col中的时间。 我的目标是得到这个,就像“十进制时间”: 而不是sg。就像这样: 06:00pm to 07:30pm 02:15pm to 05:00am 也许有人能帮我 我尝试了以下方法(我的实验源代码): 我相信这应该满足你的要求: function formatDateTime($date = 'now', $format = '%l:%M %P') { $ret = strftime($format,
06:00pm to 07:30pm
02:15pm to 05:00am
也许有人能帮我
我尝试了以下方法(我的实验源代码):
我相信这应该满足你的要求:
function formatDateTime($date = 'now', $format = '%l:%M %P') {
$ret = strftime($format, strtotime($date));
return str_replace(array('am', 'pm', ':00'), array('a.m','p.m', ''), $ret);
}
用法示例:
echo formatDateTime('1385914593');
echo formatDateTime('08:00:04 AM');
echo formatDateTime('13:26:04');
输出:
5:30 a.m
8 a.m
1:26 p.m
您可能需要,或者如果格式取决于时间(在您的示例中是这样的),则必须检查给定的时间并根据它切换格式。我尝试了您的代码,它解决了一半的问题;)我现在可以从早上8点到下午3点30分,但我想让“空分钟”消失:例如,早上8点到下午3点30分,我知道这很好,但我希望不是凌晨2点>凌晨2点(5点30分太好了!),你只需将返回更改为
return str_replace(array('am','pm','00')、array('a.m','p.m','')、'ret即可代码>哦,是的,那太好了!很高兴能帮上忙。干杯!:)
echo formatDateTime('1385914593');
echo formatDateTime('08:00:04 AM');
echo formatDateTime('13:26:04');
5:30 a.m
8 a.m
1:26 p.m