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

如何在MSSQL中将CST时间转换为UTC时间

MSSQL 实现CST时间到UTC时间转换的方案

可以实现,按以下步骤操作即可:

注意:CST是多个时区的共用缩写(中国标准时间、美国中部时间、古巴标准时间等),以下默认你提到的CST为中国标准时间(UTC+8),如果是其他时区对应调整时差或时区名即可。另外你给出的示例输入输出时间数值完全一致,若仅需要格式转换不需要时区差计算,跳过时差处理步骤即可。

通用版本(兼容所有SQL Server版本)

  • 第一步:先剔除字符串中的CST标识,转换为SQL Server可识别的datetime类型
    示例代码:
    SELECT CONVERT(DATETIME, STUFF('Thu May 13 11:14:19 CST 2021', CHARINDEX('CST', 'Thu May 13 11:14:19 CST 2021'), 3, ''), 100) AS cst_datetime

  • 第二步:减去对应时差转换为UTC时间,同时格式化输出为你需要的2021-05-13 11:14:19.000格式
    示例代码:
    SELECT CONVERT(VARCHAR, DATEADD(HOUR, -8, CONVERT(DATETIME, STUFF('Thu May 13 11:14:19 CST 2021', CHARINDEX('CST', 'Thu May 13 11:14:19 CST 2021'), 3, ''), 100)), 121) AS utc_datetime

SQL Server 2016及以上版本(推荐,自动处理夏令时)

可以使用内置的AT TIME ZONE语法,不需要硬编码时差,适配时区的夏令时规则:

SELECT 
    CONVERT(DATETIME, STUFF('Thu May 13 11:14:19 CST 2021', CHARINDEX('CST', 'Thu May 13 11:14:19 CST 2021'), 3, ''), 100)
    AT TIME ZONE 'China Standard Time' -- 这里替换为你实际的CST对应时区名
    AT TIME ZONE 'UTC'
AS utc_datetime

如果你的CST指代美国中部时间,将上方时区名替换为Central Standard Time即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 23:06:04