strtotime和日期输出不正确

Joh*_*ang 5 php date strtotime

我无法为数据库中保存的日期回显正确的unix时间戳.

$activeWorkRow['WorkDate'] = "9/24/2015 1:45:53 PM";
$locateDate = $activeWorkRow['WorkDate'];
$locateDate = str_replace('/', '-', $locateDate);
//$locateDate = date('m-d-Y', strtotime($locateDate));
//$locateDate = strtotime(date($locateDate));

echo $locateDate."<br>";
Run Code Online (Sandbox Code Playgroud)

输出:

9-24-2015 1:45:53 PM
Run Code Online (Sandbox Code Playgroud)

下一个:

$locateDate = $activeWorkRow['WorkDate'];
$locateDate = str_replace('/', '-', $locateDate);
$locateDate = date('m-d-Y', strtotime(locateDate));
//$locateDate = strtotime(date($locateDate));
Run Code Online (Sandbox Code Playgroud)

输出:

12-31-1969
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用unix时间戳,以便我可以将其与其他人进行比较.

小智 0

如果您使用 MySQL,您可以说:

mysql> 选择 UNIX_TIMESTAMP();

<?php  
$hostname="your_hostname";  
$username="your_username";  
$password="your_password";  
$db = "your_dbname";   
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);  
foreach($dbh->query('SELECT UNIX_TIMESTAMP()') as $row) {  
    echo "<tr>";  
    echo "<td>" . $row['UNIX_TIMESTAMP()'] . "</td>";   
    echo "</tr>";  
}  
?>
Run Code Online (Sandbox Code Playgroud)

或者如果您需要指定日期的 Unix 时间戳,请尝试:

mysql> 选择 UNIX_TIMESTAMP('2016-01-01 12:00:00');

<?php  
$hostname="your_hostname";  
$username="your_username";  
$password="your_password";  
$db = "your_dbname";  
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);  
foreach($dbh->query('SELECT UNIX_TIMESTAMP("2016-01-01 12:00:00")') as $row) {  
    echo "<tr>";  
    echo "<td>" . $row['UNIX_TIMESTAMP("2016-01-01 12:00:00")'] . "</td>";  
    echo "</tr>";  
}  
?>  
Run Code Online (Sandbox Code Playgroud)