gpt4 book ai didi

sqlite - SQL 查询中本地时间的 18 位时间戳

转载 作者:行者123 更新时间:2023-12-03 18:42:33 27 4
gpt4 key购买 nike

我正在使用 DB Browser for SQlite。我的数据库也有日期时间存储在 18 位时间戳中。请帮助在此查询中将其转换为本地时间:

SELECT * FROM message WHERE handle_id=52 ORDER BY date DESC;   

我认为这是一种 unix 时间戳,因为数据库是基于 mac 的。 (Apple CoreD (nanosec) 是时间戳格式,谢谢 varro)以下是数据库中的几个示例:

561774860770410304 559334672583377600   

我遇到了另一个类似的问题(本地时间的 18 位时间戳),但提问者不需要任何特定语言或平台的答案。

谢谢,爱丽丝

最佳答案

在事先不知道时间戳格式的情况下,不可能给出明确的答案,但我提交了这个脚本(仅依赖于 sqlite3 命令行工具)来帮助:

#!/bin/sh

printf "Enter timestamp: "
read number

sqlite3 <<EOS
.mode column
.width 12, 20

select 'Number:', $number;
select 'Unix epoch:', datetime($number, 'unixepoch');
select 'Variant:', datetime($number, 'unixepoch', '-70 years');
select 'Julian day:', datetime($number);
select 'Mac HFS+:', datetime($number, 'unixepoch', '-66 years');
select 'Apple CoreD:';
select ' (seconds)', datetime($number, 'unixepoch', '+31 years');
select ' (nanosec)', datetime($number/1000000000, 'unixepoch', '+31 years');
select 'NET:', datetime($number/10000000, 'unixepoch', '-1969 years');
EOS

如果您运行此脚本并输入您的号码 561774860770410304,您将看到以下内容:

% Enter timestamp: 561774860770410304
Number: 561774860770410304
Unix epoch: -
Variant: -
Julian day: -
Mac HFS+: -
Apple CoreD:
(seconds) -
(nanosec) 2018-10-21 00:34:20
NET: 1781-03-12 09:14:37

我猜想“2018-10-21 00:34:20”可能是您的时间戳,相应地“Apple CoreD (nanosec)”是您的时间戳格式(请参阅 https://www.epochconverter.com/coredata)。

关于sqlite - SQL 查询中本地时间的 18 位时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54893229/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com