【发布时间】:2022-11-29 15:15:24
【问题描述】:
我有 SQLite DB 一个表包含日期时间字段
数据类型为“timestamp”的 REAL 值为 17889.0
所以,我想把这个 17889.0 值转换成 MySQL Y-m-d
我没有在网上找到任何解决方案。任何帮助,将不胜感激。
SQLite 时间戳转换为 MySQL 时间戳。
【问题讨论】:
标签: php mysql sqlite date datetime
我有 SQLite DB 一个表包含日期时间字段
数据类型为“timestamp”的 REAL 值为 17889.0
所以,我想把这个 17889.0 值转换成 MySQL Y-m-d
我没有在网上找到任何解决方案。任何帮助,将不胜感激。
SQLite 时间戳转换为 MySQL 时间戳。
【问题讨论】:
标签: php mysql sqlite date datetime
尝试这个:
<?php
echo date('Y-m-d H:i:s', 17889);
?>
输出:
1970-01-01 04:58:09
【讨论】:
存储在REAL 数据类型中的 SQLite 日期将日期存储为 Julian Day。
来自https://www.sqlite.org/datatype3.html
实际作为儒略日数字,自公元前 4714 年 11 月 24 日格林威治中午以来的天数。根据公历。
PHP 有一个
jdtogregorian函数,其中一个注释有一个handy function to convert to ISO8601 dates:function JDtoISO8601($JD) { if ($JD <= 1721425) $JD += 365; list($month, $day, $year) = explode('/', jdtogregorian($JD)); return sprintf('%+05d-%02d-%02d', $year, $month, $day); } echo JDtoISO8601('17889.0'); // Results in -4664-11-16结果看起来不太对,在 SQLite 中肯定是 17889.0 吗?
【讨论】: