简体   繁体   English

PHP-用strftime格式化时间

[英]php - format time with strftime

I use strftime to format time from a mysql datetime col over a multilanguage website. 我使用strftime在多语言网站上从mysql datetime col格式化时间。 My goal ist to get this, like a "decimal time": 我的目标是实现这一目标,例如“十进制时间”:

6 p.m. to 7.30 p.m. or
2.15 p.m. to 5 a.m.

and not sg. 而不是 like that: 像那样:

06:00pm to 07:30pm
02:15pm to 05:00am

Maybe someone can help me out! 也许有人可以帮助我!

I tried with this (My experimental sourcecode): 我尝试了这个(我的实验源代码):

// $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'])

I believe this should do what you want: 我相信这应该做您想要的:

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);
}

Example usage: 用法示例:

echo formatDateTime('1385914593');
echo formatDateTime('08:00:04 AM');
echo formatDateTime('13:26:04');

Output: 输出:

5:30 a.m 
8 a.m 
1:26 p.m

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM