使用DateTime.Now获取本地当前时间,DateTime.Today获取日期,DateTime.UtcNow获取UTC时间;2. 通过Year、Month等属性提取时间部分;3. 利用ToString()格式化输出,Add方法进行时间增减,Compare比较时间顺序,Subtract计算时间差;4. DateTime为值类型,可空时使用DateTime?。

在C#中,获取当前时间非常简单,主要通过 DateTime 结构体来实现。它位于 System 命名空间下,是处理日期和时间的核心类型。
获取当前时间
使用 DateTime.Now 可以获取当前的本地日期和时间:
DateTime now = DateTime.Now;Console.WriteLine("当前时间:" + now);
如果只需要获取当前日期(不包含具体时间),可以使用:
DateTime today = DateTime.Today;Console.WriteLine("当前日期:" + today);
若需要获取协调世界时(UTC时间),则使用:
DateTime utcNow = DateTime.UtcNow;Console.WriteLine("UTC时间:" + utcNow);
DateTime 的常用属性
DateTime 提供了多个属性用于访问时间的各个部分:
- Year:获取年份,例如 2025
- Month:获取月份,范围是 1–12
- Day:获取当月中的第几天
- Hour:获取小时,范围是 0–23
- Minute:获取分钟,范围是 0–59
- Second:获取秒数,范围是 0–59
- Millisecond:获取毫秒数
- DayOfWeek:返回星期几,如 Monday、Sunday
- DayOfYear:返回一年中的第几天,范围是 1–366
示例:
Console.WriteLine("年:" + now.Year);Console.WriteLine("月:" + now.Month);
Console.WriteLine("日:" + now.Day);
Console.WriteLine("星期:" + now.DayOfWeek);
DateTime 的常用方法
除了属性,DateTime 还提供了一些实用的方法来操作和格式化时间。
ToString() 方法:将 DateTime 转换为字符串,支持自定义格式:
- now.ToString("yyyy-MM-dd") → "2025-04-05"
- now.ToString("HH:mm:ss") → "14:30:25"
- now.ToString("F") → 完全日期时间(长格式)
- now.ToString("G") → 通用日期时间(短格式)
Add 方法族:用于进行时间的加减运算:
- AddDays(double):增加或减少天数
- AddHours(double):增加或减少小时
- AddMinutes(double):增加或减少分钟
- AddSeconds(double):增加或减少秒
- AddYears(int):增加年数
示例:
DateTime tomorrow = now.AddDays(1);DateTime oneHourLater = now.AddHours(1);
Console.WriteLine("明天:" + tomorrow);
Compare 和 CompareTo 方法:比较两个时间的先后顺序:
int result = DateTime.Compare(time1, time2);// 返回值:1表示time1大,-1表示time2大,0表示相等
Subtract 方法:计算两个时间之间的差值,返回 TimeSpan:
TimeSpan diff = laterTime.Subtract(earlierTime);Console.WriteLine("相差天数:" + diff.Days);
小技巧与注意事项
DateTime 是值类型,不会为 null。如果需要表示可空时间,应使用 DateTime? 或 Nullable
判断时间是否为空时:
if (birthDate.HasValue){
Console.WriteLine("出生日期:" + birthDate.Value);
}
基本上就这些。DateTime 在日常开发中使用频率很高,掌握它的基本用法能有效提升处理时间相关逻辑的效率。










