今天我正在使用PHP和MySQL,我将Dates在时间戳字段中存储到MySQL中,但默认情况下是24 / h格式,如果有人知道我怎么能确定这个小时到上午或下午示例:
14:05 -> 2:05PM
02:05 -> 2:05AM
很多,谢谢你的时间。
答案 0 :(得分:6)
您可以使用DATE_FORMAT()
SELECT DATE_FORMAT(hour_column, '%r');
答案 1 :(得分:1)
不,不,不。 “时间戳”值可能意味着“上午11:00”(如果您在纽约),但相同的值也意味着“下午4:00”(如果您在英国格林威治)。
时间戳VALUE与您所在的时区无关。
话虽如此,您想将日期时间STRING(24 / h格式)转换为不同的日期时间字符串(转换为12 /子午线格式)。
从MySQL或PHP轻松完成:无论你喜欢什么。
以下是PHP日期/时间格式函数和相应的格式字符串:
http://php.net/manual/en/function.strtotime.php
http://www.php.net/manual/en/datetime.formats.time.php
以下是MySQL参考页面:
答案 2 :(得分:1)
DateTime将是你的朋友。
首先,如果您的php配置尚未为您设置,请将您的默认时区设置为:
date_default_timezone_set('XXXX');
XXXX代表List of supported timezones
之外的值通过以下方式初始化您的日期:
$date = new DateTime();
要获取时间戳,您现在可以使用:
$timestamp = $date->getTimestamp();
如前所述,输出(格式)取决于您的时区。您可以提前设置默认时区,但可以根据需要随时更改。
要格式化日期,您可以使用它:
$12h = $date->format( 'h:i:s a' );
$24h = $date->format( 'H:i:s a' );
要了解有关DateTime的更多信息,请查看DateTime class manual。