当前位置: 首页 > article >正文

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}小时");

http://www.kler.cn/a/305956.html

相关文章:

  • 执行flink sql连接clickhouse库
  • RabbitMQ高效的消息队列中间件原理及实践
  • C 语言 【模拟实现内存库函数】
  • 学法减分交管12123模拟练习小程序源码前端和后端和搭建教程
  • 响应式网页设计--html
  • Elastic Observability 8.16:增强的 OpenTelemetry 支持、高级日志分析和简化的入门流程
  • java构造器
  • Mysql 面试题总结
  • 51. 数组中的逆序对
  • 使用 Spring Boot + Vue + ElementUI 构建简易评分系统
  • 信息安全工程师(3)TCP/IP协议簇
  • 软件测试工程师面试整理-测试生命周期
  • gingivitis
  • CSS3中的@media查询
  • HTML5超酷炫的水果蔬菜在线商城网站源码系列模板1
  • 如何调试本地npm package
  • MySQL之表的约束
  • 基于springboot的校企招聘管理系统的设计与实现
  • HTTPS的加密流程:保护你的数据传输
  • 关于决策树的一些介绍(二)
  • 物联网之Arduino编程语言
  • 【stm32笔记】使用rtt-studio与stm32CubeMx联合创建项目
  • 鸿蒙 ArkUI组件一
  • 三十七、Gin完成登陆功能
  • solidity-20-sendeth
  • MySQL——数据库的高级操作(三)权限管理(2)授予权限