如何在“可读”中显示以下内容日期时间格式?

发布于 2024-11-04 11:26:28 字数 523 浏览 1 评论 0原文

Database : SQLite  
Column : SomeTable.Logged (DateTime)  

我正在使用 System.Data.SQLite 组件。我在 Logged 列中将日期时间值保存为刻度。例如,使用 c#

DateTime.Now.Ticks;

保存在 SomeTable.Logged 中的示例值是:

634399267463299880  

如何使用 sql,在“正常”日期中显示此值?例如'01-05-2011 13:45:22'

我知道页面 http://www.sqlite.org/lang_datefunc.html ,但我无法让事情按照我想要的方式进行。

Database : SQLite  
Column : SomeTable.Logged (DateTime)  

Im using the System.Data.SQLite component. I save a datetime value in the Logged column as ticks. e.g. using c#

DateTime.Now.Ticks;

An example value that is saved in SomeTable.Logged is:

634399267463299880  

How, using sql, would I display this in a 'normal' date? e.g. '01-05-2011 13:45:22'?

I'm aware of the page http://www.sqlite.org/lang_datefunc.html , but I can't quite get things to work the way I want.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

感情废物 2024-11-11 11:26:28

尝试:

SELECT strftime('%Y-%m-%d %H:%M:%S',
                SomeTable.Logged/10000000 - 62135596800,
                'unixepoch')

哪里

 62135596800 = DateTime(1970, 1, 1, 0, 0, 0).Ticks/10000000
             = number of seconds elapsed from 01/01/0001 00:00:00 
                                         until 01/01/1970 00:00:00;
 => SomeTable.Logged/10000000 - 62135596800
             = number of seconds elapsed from 01/01/1970 00:00:00
                                         until your date

 => 'unixepoch' to convert it to date value
 => '%Y-%m-%d %H:%M:%S' to format

示例:

SELECT strftime('%Y-%m-%d %H:%M:%S',
                634398543220000000/10000000 - 62135596800,
                'unixepoch')

==> 2011-05-01 13:45:22

Try:

SELECT strftime('%Y-%m-%d %H:%M:%S',
                SomeTable.Logged/10000000 - 62135596800,
                'unixepoch')

where:

 62135596800 = DateTime(1970, 1, 1, 0, 0, 0).Ticks/10000000
             = number of seconds elapsed from 01/01/0001 00:00:00 
                                         until 01/01/1970 00:00:00;
 => SomeTable.Logged/10000000 - 62135596800
             = number of seconds elapsed from 01/01/1970 00:00:00
                                         until your date

 => 'unixepoch' to convert it to date value
 => '%Y-%m-%d %H:%M:%S' to format

example:

SELECT strftime('%Y-%m-%d %H:%M:%S',
                634398543220000000/10000000 - 62135596800,
                'unixepoch')

==> 2011-05-01 13:45:22
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文