c# 如何获取当前时间

发布时间 - 2026-02-02 00:00:00    点击率:
DateTime.Now 是获取本地时间的常用方法,返回系统本地时区的完整时间;需 UTC 时间时应直接使用 DateTime.UtcNow;格式化推荐固定字符串如 "yyyy-MM-dd HH:mm:ss" 或 "o";高精度计时用 Stopwatch,带时区场景用 DateTimeOffset。

直接用 DateTime.Now 获取本地当前时间

绝大多数场景下,DateTime.Now 就是你需要的答案。它返回一个 DateTime 对象,包含当前系统本地时区的年、月、日、时、分、秒和毫秒。

注意:它依赖系统时钟和时区设置,不是 UTC 时间,也不自动处理夏令时切换逻辑(但 Windows 系统层会参与调整)。

DateTime now = DateTime.Now;
Console.WriteLine(now); // 输出类似:2025-06-12 14:35:22.123

需要 UTC 时间时用 DateTime.UtcNow

如果做跨时区服务、日志时间戳、或与数据库/HTTP API 交互(尤其 RESTful 接口常要求 ISO 8601 UTC 格式),必须用 DateTime.UtcNow,否则可能引发时区错乱或比对错误。

  • DateTime.NowDateTime.UtcNow 的值通常相差几个小时,具体取决于本地时区偏移
  • 两者都包含毫秒,精度取决于系统时钟(通常为 10–15ms)
  • 不要对 DateTime.Now 做减法再转 UTC——结果不可靠,直接用 UtcNow
DateTime utcNow = DateTime.UtcNow;
Console.WriteLine(utcNow.ToString("o")); // ISO 8601 格式:2025-06-12T06:35:22.1234567Z

格式化输出要小心文化差异

ToString() 默认使用当前线程的 CultureInfo,可能导致月/日顺序颠倒(如美国 vs 德国),影响日志解析或前端展示。

  • 固定格式推荐用标准格式字符串,比如 "yyyy-MM-dd HH:mm:ss"
  • 需要 ISO 8601 且带时区信息,用 "o"(Round-trip 格式)或 "u"(UTC 格式)
  • 避免用 ToString() 无参数调用,尤其在服务器环境(线程文化可能非预期)
DateTime now = DateTime.Now;
Console.WriteLine(now.ToString("yyyy-MM-dd HH:mm:ss")); // 安全、明确

高精度或性能敏感场景考虑 StopwatchDateTimeOffset

DateTime 不适合测量耗时(精度低、有系统时钟跳变风险),也不方便表达“带时区偏移的时间点”。这时候:

  • 测执行时间用 Stopwatch,它基于高精度计时器(QueryPerformanceCounter
  • 记录带明确时区上下文的时间点(如用户提交时间 + 当地偏移),用 DateTimeOffset,例如 DateTimeOffset.Now
  • DateTimeOffset.NowDateTime.Now 多存一个 Offset,能无歧义还原 UTC 时间
DateTimeOffset nowOffset = DateTimeOffset.Now;
Console.WriteLine(nowOffset.ToString(

"o")); // 2025-06-12T14:35:22.1234567+08:00
时区偏移、UTC 意识、格式化上下文——这三个点在真实项目里最容易被忽略,一出问题就难定位。


# 前端  # windows  # win  # c#  # 格式化输出  # yy  # restful  # 字符串  # 接口  # 线程  # 对象  # 数据库  # http  # 也不  # 时用  # 计时器  # 执行时间  # 德国  # 美国  # 要对  # 不适合  # 一出  # 要小心 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  详解Huffman编码算法之Java实现  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  香港服务器建站指南:免备案优势与SEO优化技巧全解析  JavaScript实现Fly Bird小游戏  做企业网站制作流程,企业网站制作基本流程有哪些?  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  Laravel如何保护应用免受CSRF攻击?(原理和示例)  如何用花生壳三步快速搭建专属网站?  如何在IIS服务器上快速部署高效网站?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  微信小程序 wx.uploadFile无法上传解决办法  大连网站制作公司哪家好一点,大连买房网站哪个好?  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  网页设计与网站制作内容,怎样注册网站?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  企业网站制作这些问题要关注  如何快速选择适合个人网站的云服务器配置?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Android 常见的图片加载框架详细介绍  Laravel如何升级到最新版本?(升级指南和步骤)  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Laravel Session怎么存储_Laravel Session驱动配置详解  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  JS碰撞运动实现方法详解  高防服务器租用如何选择配置与防御等级?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  JavaScript如何实现倒计时_时间函数如何精确控制  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  C语言设计一个闪闪的圣诞树  jQuery中的100个技巧汇总  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  黑客入侵网站服务器的常见手法有哪些?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何用好域名打造高点击率的自主建站?  如何用wdcp快速搭建高效网站?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何挑选优质建站一级代理提升网站排名?  如何基于云服务器快速搭建个人网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程