导读:本期聚焦于小伙伴创作的《C#怎么获取当前系统时间?C#如何格式化显示日期时间?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《C#怎么获取当前系统时间?C#如何格式化显示日期时间?》有用,将其分享出去将是对创作者最好的鼓励。

在C#开发中,获取系统当前时间并灵活格式化显示是高频需求,无论是记录操作日志、展示页面时间还是处理时间相关的业务逻辑都会用到。C#提供了完善的DateTime类型来支持时间相关的操作,开发者可以通过简单的代码快速完成时间获取和格式化工作。

C#怎么获取当前系统时间?C#如何格式化显示日期时间?

C#获取当前系统时间的方法

获取当前系统时间最常用的是DateTime.Now属性,它会返回当前系统的本地日期和时间,包含年、月、日、时、分、秒、毫秒等信息。如果需要获取协调世界时(UTC)时间,可以使用DateTime.UtcNow属性。

除了直接获取完整时间,也可以单独获取时间的各个组成部分,比如年、月、日、小时等,DateTime类型提供了对应的属性来访问这些信息。

基础获取示例

using System;

class Program
{
    static void Main()
    {
        // 获取当前本地时间
        DateTime localTime = DateTime.Now;
        // 获取当前UTC时间
        DateTime utcTime = DateTime.UtcNow;
        
        Console.WriteLine("当前本地时间:" + localTime);
        Console.WriteLine("当前UTC时间:" + utcTime);
        
        // 单独获取时间的各个部分
        Console.WriteLine("当前年份:" + localTime.Year);
        Console.WriteLine("当前月份:" + localTime.Month);
        Console.WriteLine("当前日:" + localTime.Day);
        Console.WriteLine("当前小时:" + localTime.Hour);
        Console.WriteLine("当前分钟:" + localTime.Minute);
        Console.WriteLine("当前秒:" + localTime.Second);
    }
}

C#日期时间格式化方法

获取到时间之后,默认的字符串显示格式可能不符合业务需求,这时候就需要对时间进行格式化。C#中日期时间的格式化主要通过ToString方法实现,支持标准日期和时间格式字符串、自定义日期和时间格式字符串两种形式。

标准日期和时间格式字符串

标准格式字符串是使用单个格式说明符来表示预定义的格式,常用的格式说明符如下:

  • d:短日期模式,比如2024/3/15
  • D:长日期模式,比如2024年3月15日
  • t:短时间模式,比如14:30
  • T:长时间模式,比如14:30:25
  • f:完整日期短时间模式,比如2024年3月15日 14:30
  • F:完整日期长时间模式,比如2024年3月15日 14:30:25
  • g:常规日期短时间模式,比如2024/3/15 14:30
  • G:常规日期长时间模式,比如2024/3/15 14:30:25

标准格式使用示例

using System;

class Program
{
    static void Main()
    {
        DateTime now = DateTime.Now;
        // 短日期格式
        Console.WriteLine("短日期格式(d):" + now.ToString("d"));
        // 长日期格式
        Console.WriteLine("长日期格式(D):" + now.ToString("D"));
        // 短时间格式
        Console.WriteLine("短时间格式(t):" + now.ToString("t"));
        // 长时间格式
        Console.WriteLine("长时间格式(T):" + now.ToString("T"));
        // 完整日期短时间格式
        Console.WriteLine("完整日期短时间(f):" + now.ToString("f"));
        // 完整日期长时间格式
        Console.WriteLine("完整日期长时间(F):" + now.ToString("F"));
    }
}

自定义日期和时间格式字符串

如果标准格式无法满足需求,还可以使用自定义格式字符串,通过组合不同的格式说明符来定义自己需要的时间格式。常用的自定义格式说明符如下:

格式说明符说明示例
yyyy四位年份2024
MM两位月份(不足两位补0)03
dd两位日期(不足两位补0)05
HH24小时制的小时(不足两位补0)14
hh12小时制的小时(不足两位补0)02
mm两位分钟(不足两位补0)30
ss两位秒数(不足两位补0)25
fff三位毫秒123
dddd完整星期名称星期五
MMM完整月份名称三月

自定义格式使用示例

using System;

class Program
{
    static void Main()
    {
        DateTime now = DateTime.Now;
        // 自定义格式:yyyy-MM-dd HH:mm:ss
        string format1 = now.ToString("yyyy-MM-dd HH:mm:ss");
        Console.WriteLine("格式1:" + format1);
        
        // 自定义格式:yyyy年MM月dd日 hh:mm:ss tt
        string format2 = now.ToString("yyyy年MM月dd日 hh:mm:ss tt");
        Console.WriteLine("格式2:" + format2);
        
        // 自定义格式:dd/MM/yyyy dddd
        string format3 = now.ToString("dd/MM/yyyy dddd", System.Globalization.CultureInfo.GetCultureInfo("zh-CN"));
        Console.WriteLine("格式3:" + format3);
        
        // 带毫秒的自定义格式
        string format4 = now.ToString("yyyy-MM-dd HH:mm:ss.fff");
        Console.WriteLine("格式4:" + format4);
    }
}

注意事项

在进行时间格式化的时候,需要注意不同文化区域下的格式差异,比如部分地区的日期分隔符是.,有的是-。如果需要固定格式,建议显式指定CultureInfo,避免使用系统默认的文化区域导致格式不符合预期。

另外,DateTime.Now获取的是系统本地时间,如果应用部署在不同时区的服务器上,可能会出现时间偏差,这种场景下如果需要统一时间标准,建议使用DateTime.UtcNow获取UTC时间后再根据需求转换时区。

C#DateTime日期格式化ToString方法修改时间:2026-06-11 00:06:22

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。