Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP strtime()不';好像不行?我能';我看不出有什么不对_Php_Mysql_Strptime - Fatal编程技术网

PHP strtime()不';好像不行?我能';我看不出有什么不对

PHP strtime()不';好像不行?我能';我看不出有什么不对,php,mysql,strptime,Php,Mysql,Strptime,我目前正试图将一个数据库从一个旧系统转移到一个新系统,我遇到了一个小问题 我在以下位置设置了一个db行: 2007-04-24 00:23:59 (yyyy-mm-dd hh:mm:ss) 而且我似乎无法通过strtime()让它工作 以下是我所拥有的: $format = '%Y-%m-%d %H:%i:%s'; $ct = strptime($row['time'], $format ); //$row['time'] == 2007-01-11 00:47:27 这不会返回任何结果 有人

我目前正试图将一个数据库从一个旧系统转移到一个新系统,我遇到了一个小问题

我在以下位置设置了一个db行:

2007-04-24 00:23:59 (yyyy-mm-dd hh:mm:ss)

而且我似乎无法通过strtime()让它工作

以下是我所拥有的:

$format = '%Y-%m-%d %H:%i:%s';
$ct = strptime($row['time'], $format );
//$row['time'] == 2007-01-11 00:47:27
这不会返回任何结果

有人能看出这有什么不对吗

谢谢。

有关正确的格式,请参阅文档

你的目标应该是:

$format = '%Y-%m-%d %T';

格式应该有所不同:

$format = '%Y-%m-%d %H:%M:%S'; // or just '%F %T'
下面是strftime的相应部分:

从手册


这就是我通常处理日期格式的方式

$somedate = strtotime($dateValue);
$formatted_date = date('Y-m-d H:i:s', $somedate);
strtime()
在Windows中不可用

注意:此功能不在Windows平台上实现


来源:

我看不出您在哪里输出它日期必须是字符串。
$row['time']
中有什么内容?此功能未在Windows上实现,因此如果您在Windows平台上,它将无法工作。同样来自PHP手册的注释:在内部,此函数调用系统的C库提供的strptime()函数。此函数在不同的操作系统中表现出明显不同的行为。PHP 5.3.0及更高版本建议使用不存在这些问题的格式()中的日期解析。
'%Y-%m-%d%H:%m:%S'
,您混淆了
date()
&
strftime()
字符。我在下面添加了一条注释,说明$row['time']是什么://$row['time']==2007-01-11 00:47:27不应该是这样的吗
“%Y/%m/%d%H:%i:%s”
@Scott
strftime
date
格式不同。我没有意识到strftime和date在当时有不同的代码,谢谢。然而,它仍然不起作用。不,最终让它与。。。显然,我只想知道Date和strTime是不同的格式:P谢谢,甚至更短的“%F%T”对你来说很好,但问题是关于其他的东西,如果我想发表评论的话。谢谢你的帮助,Michael。如果你甚至不能改变你需要的日期格式,编程就不适合你了。当然不同了,很明显,你应该根据需要改变它。我知道我应该改变它,我只是说,当给出答案时,直接代表问题的答案可能会更清楚。我已经读过手册了,但我肯定错过了格式,以为它和日期格式是一样的
<?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] =>
)
$somedate = strtotime($dateValue);
$formatted_date = date('Y-m-d H:i:s', $somedate);