C#中的Date Time类

DateTime类

用来进行时间操作的,类型的变量一般用于储存一个时间

DateTime.Now 属性,用于获取当前的系统时间

复制代码
DateTime dt = DateTime.Now;
Console.WriteLine(dt); //2024 / 5 / 28 10:12:27

//可以通过时间对象的属性,获取单独的某个时间详情。
Console.WriteLine($"年:{dt.Year}");
Console.WriteLine($"月:{dt.Month}");
Console.WriteLine($"日:{dt.Day}");
Console.WriteLine($"时:{dt.Hour}");
Console.WriteLine($"分:{dt.Minute}");
Console.WriteLine($"秒:{dt.Second}");
Console.WriteLine($"毫秒:{dt.Millisecond}");

Console.WriteLine($"今天是周几,{dt.DayOfWeek}"); //Tuesday
Console.WriteLine($"今天是周几,{(int)dt.DayOfWeek}"); //转换为数字。2 ,0-6(0代表周日,其余正常)
Console.WriteLine($"今天是周几,{dt.DayOfYear}"); //147, 获取当前是一年中的第几天


// 把当前的时间转换为字符串类型,可以有不同的格式
Console.WriteLine(dt.ToString());//2024/5/28 10:26:30
Console.WriteLine(dt.ToString("G"));//2024/5/28 10:26:30
Console.WriteLine(dt.ToString("s"));//2024-05-28T10:28:32
Console.WriteLine(dt.ToString("d"));//2024/5/28
Console.WriteLine(dt.ToString("D"));//2024年5月28日
Console.WriteLine(dt.ToString("F"));//2024年5月28日 10:29:16


//格式化的时候,一些字符可以代表时间属性
Console.WriteLine(dt.ToString("yy")); //24年的后两位
Console.WriteLine(dt.ToString("M"));
Console.WriteLine(dt.ToString("dd"));
Console.WriteLine(dt.ToString("m"));
Console.WriteLine(dt.ToString("s"));
Console.WriteLine(dt.ToString("fff"));
Console.WriteLine(dt.ToString("现在是小时是:H")); //注意:如果单独使用H/h报错,拼接字符串

Console.WriteLine(dt.ToString("今年是yyyy年MM月dd日HH时mm分ss秒,今天是dddd"));

Console.WriteLine("========================");

// 时间戳,把当前时间转换为秒 / 毫秒
DateTime time = DateTime.Now;
Console.WriteLine(new DateTimeOffset(time));//换算为格林威治时间
Console.WriteLine(new DateTimeOffset(time).ToUnixTimeSeconds()); //秒戳
Console.WriteLine(new DateTimeOffset(time).ToUnixTimeMilliseconds()); //毫秒戳

//生成目标时间对象
DateTime myTime = new DateTime(2003, 3, 3, 11, 20, 58);
Console.WriteLine(myTime.ToString());

清除上面代码

Console.Clear();

Console.WriteLine(DateTime.Now.ToString("今年是yyyy年MM月dd日HH时mm分ss秒,今天是dddd"));

让代码停止1秒,单位毫秒

Thread.Sleep(1000);

时间的计算和对比

复制代码
//时间的操作
DateTime dateTime = DateTime.Now;
Console.WriteLine(dateTime);
//可以通过调整时间对象的ADDXXX()方法,来修改当前的时间对象的年月日时分秒。
dateTime = dateTime.AddYears(1);
dateTime = dateTime.AddMonths(1);
Console.WriteLine(dateTime.ToString());
dateTime = dateTime.AddYears(-5);
Console.WriteLine(dateTime.ToString());

//上面的修改,不会对真正的时间对象进行修改。
DateTime dateTime1 = DateTime.Now;
Console.WriteLine(dateTime1);


// 如果需要进行时间比较,可以使用 > < >= <= == != 运算符。
if (DateTime.Now < new DateTime(2028, 1, 1))
{
    Console.WriteLine("ok");
}
else
{
    Console.WriteLine("NO");
}

// 可以直接使用-进行时间的计算。 TimeSpan得到时间的跨度。
TimeSpan tm = new DateTime(2026,1,1) - DateTime.Now;
Console.WriteLine($"到2026年1月1日还有{tm.Days}天");
Console.WriteLine($"到2026年1月1日还有{tm.TotalHours}小时");
相关推荐
ZYJCSZKJ13 小时前
基于地理位置围栏的短视频POI团购系统:LBS空间索引与流量分发实践
java·服务器·数据库
北域码匠19 小时前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波
乌恩大侠20 小时前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
Mr.朱鹏20 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠20 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng121 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
mengge.cloud21 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
rockey62721 小时前
C#脚本引擎之AScript与Z.Expressions.Eval对比
c#·.net·script·expression·动态脚本
wxwx_bscxy32221 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
tang777891 天前
反爬虫场景下代理IP池的动态扩容与失效IP自动清理方案实现
linux·服务器·网络·爬虫代理·住宅代理ip