如何在 PHP 中创建 SQLite 时间戳值
我想在 PHP 中生成时间戳,然后将该值存储在 SQLite 中。
这是代码:
$created_date = 日期("YYYY-MM-DD HH:MM:SS",时间());
这是存储在数据库中的内容(看起来是错误的): 11/21/0020 12:39:49 PM
我应该如何更改代码以在 SQLite 中正确存储当前日期/时间
I want to generate a timestamp in PHP and then store that value in SQLite.
Here is the code:
$created_date = date("YYYY-MM-DD
HH:MM:SS",time());
Here is what gets stored in the DB (which looks wrong):
11/21/0020 12:39:49 PM
How should I change my code to store the current date/time properly in SQLite
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
为什么不直接更新您的 SQLite 查询以使用
date('now')
呢? 参考但是,在 PHP 中你应该能够使用
Why not just update your SQLite query to use
date('now')
? referenceBut, within PHP you should be able to use
我刚刚为我自己的项目实现了这个。
我的解决方案是使用官方指定的 UTC 时间格式 网络:RFC3339。
您可以使用以下任何PHP 时间格式常量< /a>:
DATE_RFC3339
DATE_W3C
DATE_ATOM
示例:
最好的部分是字母数字顺序与日期顺序相对应,因此您可以在日期字段上使用
ORDER BY
SQL 语句!I just implemented this for my own project..
My solution was to use the UTC time format officially specified for the web: RFC3339.
You can use any of the following PHP time format constants:
DATE_RFC3339
DATE_W3C
DATE_ATOM
Example:
The best part is the alphanumeric order corresponds to the date order, so you can use
ORDER BY
SQL statements on the date fields!您如何检查存储的值是什么?另外,数据库中列的数据类型是什么?您是否知道 sqlite> sqlite均未打字,所以所有值都被存储为字符串或整数吗?
How do you check what the stored value is? Also, what is the datatype of the column in the database? Are you aware that SQLite is typeless, so all values are being stored as strings or integers?
输出可能是:
请注意 date() 函数取决于默认时区在 PHP 配置中设置。您始终可以使用
echo date_default_timezone_get();
进行测试,或者通过date_default_timezone_set('TIMEZONE_IDENTIFIER');
设置它,其中 TIMEZONE_IDENTIFIER 是 支持的时区列表。Output could be:
Be aware that date() function depends of default timezone set in PHP config. You can always test it using
echo date_default_timezone_get();
or set it bydate_default_timezone_set('TIMEZONE_IDENTIFIER');
where TIMEZONE_IDENTIFIER is one from the list of supported timezones.