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

如何将.NET Ticks转换为不带偏移量的中部时间

将.NET Ticks转换为中部时间(无时区偏移)

要得到不带时区偏移的中部时间(格式为yyyy-MM-dd HH:mm:ss),可以通过以下两种方式调整你的SQL语句:

方法1:转换为datetime类型(保留日期时间结构)

CAST(
    CAST(([ticks column] - 599266080000000000) / 10000000 / 60 / 60 / 24 AS datetime) 
    AT TIME ZONE 'UTC' 
    AT TIME ZONE 'Central Standard Time'
AS datetime)

逻辑说明:

  1. 先将Ticks转换为SQL datetime类型,该值对应UTC时间
  2. 用AT TIME ZONE 'UTC'明确标记该时间为UTC时区
  3. 通过AT TIME ZONE 'Central Standard Time'转换为中部时间(此时结果为带时区偏移的datetimeoffset类型)
  4. 最后CAST AS datetime去掉时区偏移,得到纯中部时间的datetime值

方法2:直接格式化为指定字符串

如果需要直接输出yyyy-MM-dd HH:mm:ss格式的字符串,使用FORMAT函数:

FORMAT(
    CAST(([ticks column] - 599266080000000000) / 10000000 / 60 / 60 / 24 AS datetime) 
    AT TIME ZONE 'UTC' 
    AT TIME ZONE 'Central Standard Time',
    'yyyy-MM-dd HH:mm:ss'
)

关键注意点:

  • Central Standard Time会自动识别夏令时(CST/CDT),无需手动调整时区偏移
  • 针对你提供的Ticks值638924688000000000,两种方法都会返回2025-09-03 00:00:00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 10:24:57