You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在MS Access中实现Ticks转日期格式的方法求助

在MS Access查询中将Ticks转换为日期格式

首先明确:你提到的ticks应该是.NET风格的时间戳,以100纳秒为单位,起始基准为公元1年1月1日00:00:00。MS Access没有内置的Ticks转日期函数,需要手动通过公式实现转换,核心逻辑是将Ticks转换为Access日期系统的数值(Access日期基准为1899年12月30日,数值整数部分代表天数,小数部分代表时间)。

转换公式

根据两种常见的字段存储类型,使用对应写法:

  • 如果ticks字段是64位数值类型(如Long Long):
    CDate( [created] / 864000000000 - 693594 )
    
  • 如果ticks字段是文本类型(存储为大数字字符串):
    CDate( CLngLng([created]) / 864000000000 - 693594 )
    

公式说明

  • 864000000000:一天包含的Ticks总数(1天=86400秒,1秒=10,000,000 Ticks,相乘得到86400×107=8.64×1011)
  • 693594:公元1年1月1日到Access日期基准(1899年12月30日)的天数差,用于对齐两个日期系统的起始点
  • CLngLng():将文本类型的Ticks转换为64位整数,避免数值溢出
  • CDate():将计算后的数值转换为Access日期格式

查询示例

假设你的表名为your_table,Ticks字段为created,完整查询写法:

SELECT 
  d.created AS OriginalTicks,
  CDate(CLngLng(d.created)/864000000000 - 693594) AS ConvertedDate
FROM your_table AS d;

内容的提问来源于stack exchange,提问作者Juguete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:01:17