我目前正在尝试将数据库从旧系统转移到新系统,我遇到了一个小问题。
我有一个格式为:
的数据库行2007-04-24 00:23:59 (yyyy-mm-dd hh:mm:ss)
我似乎无法通过strptime()
开始工作这就是我所拥有的:
$format = '%Y-%m-%d %H:%i:%s';
$ct = strptime($row['time'], $format );
//$row['time'] == 2007-01-11 00:47:27
这不会返回任何内容。
有人可以看到有什么问题吗?
感谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
格式应该有点不同:
$format = '%Y-%m-%d %H:%M:%S'; // or just '%F %T'
以下是strftime
format documentation的相应部分:
%M Two digit representation of the minute [00 through 59]
%S Two digit representation of the second [00 through 59]
%T Same as "%H:%M:%S"
%F Same as "%Y-%m-%d" (commonly used in database datestamps)
答案 2 :(得分:0)
来自手册http://www.php.net/manual/en/function.strptime.php
<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);
echo "$strf\n";
print_r(strptime($strf, $format));
?>
结果
03/10/2004 15:54:19
Array
(
[tm_sec] => 19
[tm_min] => 54
[tm_hour] => 15
[tm_mday] => 3
[tm_mon] => 9
[tm_year] => 104
[tm_wday] => 0
[tm_yday] => 276
[unparsed] =>
)
答案 3 :(得分:0)
答案 4 :(得分:-1)
这就是我通常处理日期格式的方式。
$somedate = strtotime($dateValue);
$formatted_date = date('Y-m-d H:i:s', $somedate);