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

如何获取匹配datetimeoffset(7)存储格式的当前日期时间?

报错原因

DateTimeOffset.Now 是C#中的静态只读属性,不支持传入参数,你调用时加括号传入格式字符串的写法不符合语法规范,这是代码报错的直接原因。

正确实现方式

分两种场景处理:

  • 如果你是直接通过ORM(如EF/EF Core)操作数据库字段,不需要手动格式化字符串,直接获取DateTimeOffset实例赋值即可,框架会自动完成和数据库datetimeoffset(7)类型的匹配:
// 获取本地时区的当前带偏移时间
var currentDate = DateTimeOffset.Now;
// 如果需要和示例一致的UTC+0时间,改用UtcNow
var currentUtcDate = DateTimeOffset.UtcNow;
  • 如果你需要手动生成符合指定格式的时间字符串,调用ToString()方法传入C#标准格式符即可,注意C#的时间格式符和你示例里的占位符有区别:
// 格式符说明:yyyy=4位年, MM=2位月, dd=2位日, HH=24小时制时, mm=分, ss=秒, fffffff=7位小数秒, zzz=时区偏移
string formatDate = DateTimeOffset.Now.ToString("yyyy-MM-dd HH:mm:ss.fffffff zzz");
// 输出示例:2024-05-20 14:30:45.1234567 +08:00

注意事项

  • 注意格式符大小写:MM代表月份,mm代表分钟;HH代表24小时制,hh代表12小时制,写错会导致时间输出不符合预期。
  • 若数据库存储要求统一用UTC时间,统一使用DateTimeOffset.UtcNow获取时间,避免时区转换误差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:06:03