我使用strftime来格式化来自mysql datetime col的多语言网站的时间。 我的目标是得到这个,就像“十进制时间”:
6 p.m. to 7.30 p.m. or
2.15 p.m. to 5 a.m.
而不是sg。那样:
06:00pm to 07:30pm
02:15pm to 05:00am
也许有人可以帮助我!
我试过这个(我的实验源代码):
// $var comes in datetime format from mysql
function formatDateTime($format,$var) {
return strftime("$format",strtotime($var));
// Formats: http://php.net/manual/de/function.strftime.php
}
// mysql fetch: ...
echo formatDateTime('%I:%M%P',$row['dateTimeStart']) ... to ...
echo formatDateTime('%I:%M%P',$row['dateTimeEnd'])
答案 0 :(得分:2)
我相信这应该做你想做的事情:
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