php - php 中的 strtotime() 始终返回 01-01-1970

标签 php

我正在使用一个变量从数据库获取日期,然后我将该变量传递给 strtotime 函数以获得所需的格式,但它总是返回错误的日期。也许在 strtotime 函数中传递变量时存在问题.请给我建议,我应该如何以正确的格式获得正确的日期。

这就是我想做的

 $date = $fetch_user['date'];
 $newDate = date("d-m-Y", strtotime($date));
 $day = date('l', strtotime($newDate));

 echo $newDate;
 echo "-----";
 echo $day;
 exit;

最佳答案

1970 年 1 月 1 日是所谓的 Unix 纪元。这是他们开始计算 Unix 时间的日期。如果您将此日期作为返回值,通常意味着日期到 Unix 时间戳的转换返回了(接近)零的结果。所以日期转换不成功。很可能是因为它收到了错误的输入。

换句话说,您的 strtotime($date) 返回 0,这意味着 $date 以 strtotime 函数不受支持的格式传递。

因此,在调用 strtotime 之前,您必须自己检查 $date

关于php - php 中的 strtotime() 始终返回 01-01-1970,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21695628/

相关文章:

php - 这是更新用户状态的最佳方式吗?

php - MYSQL:将变量插入变量名表

php - 使用 createNativeQuery 连接两个没有外键的实体

php - 如何通过外部 URL 将对象放入 amazon s3

PHP - 使用 cURL 将 cookie session 存储到变量/内存中

php - 在 HTML 表单中制作随机字段

php - 将类别存储为逗号分隔数组并在循环中提取每个类别对性能有何影响?

php - 通过HTTP下载文件时减少CPU使用率

javascript - 通过 $_GET 将 URL 变量传递给 Javascript

PHP HTML 表单保留输入的数据和 isset()