【问题标题】:How to create a SQLite Timestamp value in PHP如何在 PHP 中创建 SQLite 时间戳值
【发布时间】:2011-07-27 20:25:03
【问题描述】:

我想在 PHP 中生成一个时间戳,然后将该值存储在 SQLite 中。

代码如下:

$created_date = date("YYYY-MM-DD HH:MM:SS",时间());

这是存储在数据库中的内容(看起来有误): 2020 年 11 月 21 日下午 12:39:49

我应该如何更改我的代码以在 SQLite 中正确存储当前日期/时间

【问题讨论】:

    标签: php sqlite timestamp


    【解决方案1】:

    为什么不直接更新您的 SQLite 查询以使用 date('now')reference

    但是,在 PHP 中你应该可以使用

    $created_date = date('Y-m-d H:i:s');
    

    【讨论】:

    • 以前:date_default_timezone_set("UTC");因为 SQLite 存储没有时区增量的日期(也可以是“Z”或 +00,或 UTC 时区)。这是正确的方法。
    【解决方案2】:

    我刚刚为我自己的项目实现了这个..

    我的解决方案是使用 UTC 时间格式officially specified for the web: RFC3339。 您可以使用以下任一PHP time format constants

    • DATE_RFC3339
    • DATE_W3C
    • DATE_ATOM

    示例:

    $sqlite_timestamp = date(DATE_RFC3339);
    echo "My SQLite timestamp = ".$sqlite_timestamp;
    

    最好的部分是字母数字顺序对应日期顺序,所以可以在日期字段上使用ORDER BYSQL语句!

    【讨论】:

      【解决方案3】:

      您如何检查存储的值是多少?另外,数据库中列的数据类型是什么?你知道SQLite is typeless,所以所有值都被存储为字符串或整数?

      【讨论】:

        【解决方案4】:
          $created_date = date('Y-m-d H:i:s');
          echo $created_date ."<br />\n";
        
          $created_date = date('l, F jS, Y - g:ia');
          echo $created_date ."<br />\n";
        
          $created_date = date('n/j/y H:i:s');
          echo $created_date ."<br />\n";
        
          $created_date = date('r'); // RFC 2822 formatted date
          echo $created_date ."<br />\n";
        
          $created_date = date('c'); // ISO-8601 formatted date
          echo $created_date ."<br />\n";
        

        输出可能是:

        2011-04-01 19:33:40
        Friday, April 1st, 2011 - 7:33pm
        4/1/11 19:33:40
        Fri, 01 Apr 2011 19:33:40 +0200
        2011-04-01T19:33:40+02:00
        

        请注意,date() 函数取决于 PHP 配置中设置的默认时区。您始终可以使用echo date_default_timezone_get(); 对其进行测试,或者通过date_default_timezone_set('TIMEZONE_IDENTIFIER'); 设置它,其中TIMEZONE_IDENTIFIER 是the list of supported timezones 中的一个。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-25
          • 2018-08-16
          • 2011-05-18
          • 1970-01-01
          • 2013-07-26
          • 2017-08-29
          相关资源
          最近更新 更多