C# —— 日期对象

DateTime 时间类 存储时间对象 可以获取当前时间

cs 复制代码
DateTime now = DateTime.Now;// 获取当前时间
Console.WriteLine("年:" + now.Year);//2023
Console.WriteLine("月:" + now.Month);//9
Console.WriteLine("日:" + now.Day);//12
Console.WriteLine("时:" + now.Hour);//14
Console.WriteLine("分:" + now.Minute);//56
Console.WriteLine("秒:" + now.Second);// 53
Console.WriteLine("毫秒:" + now.Millisecond);//1000
Console.WriteLine("当天是今天的第几天:" + now.DayOfYear);// 255
Console.WriteLine("当天是星期几"+now.DayOfWeek);// 英语的
Console.WriteLine("当天是星期几" + (int)now.DayOfWeek); // 2

DayOfWeek 是枚举类型 具体数值一般都是数字 值类型

cs 复制代码
            if(now.DayOfWeek == DayOfWeek.Sunday || now.DayOfWeek == DayOfWeek.Saturday)
            {
                Console.WriteLine("今天不上班");
            }

当前时间和字符串转换,可以有不同的格式

// now 是DateTime类型,

cs 复制代码
Console.WriteLine(now.ToString("G"));// ToString() 转成字符串格式2023/9/12 15:42:37
Console.WriteLine(now.ToString("s"));// 2023-09-12T15:42:37

格式时间化的方法

yy 表示年后两位

yyyy 表示完整年

MM 表示月份个位前添加0 ,09

dd 表示日期个位前添加0 , 09

h表示12小时值 hh表示12小时值个数前面加0

H表示24小时值HH表示 24小时值个数前面加0

m表示分钟 mm表示分钟 个位数前面加0

s秒; ss表示秒个数前面加0

cs 复制代码
Console.WriteLine(now.ToString("yy"));//yy年份的后两位
Console.WriteLine(now.ToString("MMMM"));// 9月12  , MMM: 09 ; MMMM:九月
Console.WriteLine(now.ToString("dddd"));// d:2023/9/12, dd:12  ddd:周二  dddd:星期二
Console.WriteLine(now.ToString("hh"));//3
Console.WriteLine(now.ToString(" H"));// 15
Console.WriteLine(now.ToString(" m"));//59
Console.WriteLine(now.ToString(" s"));//59
Console.WriteLine(now.ToString("fff"));//766 毫秒

string a = now.ToString("今天是yyyy年MM月dd日,HH:mm:ss 今天是ddd");
Console.WriteLine(a);

时间戳

cs 复制代码
now 当前时间
            // new DateTimeOffset(now).ToUnixTimeSeconds() 现在距离1970年多少秒
            Console.WriteLine("时间戳秒"+ new DateTimeOffset(now).ToUnixTimeSeconds());
            Console.WriteLine("时间戳毫秒" + new DateTimeOffset(now).ToUnixTimeMilliseconds());

计算距离当前时间 距离2023年9月 13 16:40

获取2023年9月 13 16:00 距离1979年的眇

// 把字符串2023年9月 13 16:40转成时间对象

cs 复制代码
 DateTime t1 = new DateTime(2023, 9, 13, 17, 00, 00);//转成时间对象
 // 获取2023年9月13 16: 00 距离1970年的秒
 Console.WriteLine(new DateTimeOffset(t1).ToUnixTimeSeconds());

 double ff = new DateTimeOffset(t1).ToUnixTimeSeconds()- new DateTimeOffset(now).ToUnixTimeSeconds();
 Console.WriteLine(ff);
 // ff = 88621 转成多少个小时多少分钟
 double hour = ff / 3600;
 Console.WriteLine(hour);
 double mm = ff%3600 / 60;
 Console.WriteLine(mm); //
 double ss = ff % 60;
 Console.WriteLine(ss);
 Console.WriteLine(hour +"时"+mm + "分" + ss +"秒");
相关推荐
咖啡の猫24 分钟前
搭建Python开发环境
开发语言·python
程序猿小蒜1 小时前
基于springboot的共享汽车管理系统开发与设计
java·开发语言·spring boot·后端·spring·汽车
听风吟丶2 小时前
Java 8 Stream API 高级实战:从数据处理到性能优化的深度解析
开发语言·python
hygge9993 小时前
Spring Boot + MyBatis 整合与 MyBatis 原理全解析
java·开发语言·经验分享·spring boot·后端·mybatis
Run_Teenage4 小时前
C++:智能指针的使用及其原理
开发语言·c++·算法
码界奇点5 小时前
Java设计模式精讲从基础到实战的常见模式解析
java·开发语言·设计模式·java-ee·软件工程
四维碎片6 小时前
【Qt】配置安卓开发环境
android·开发语言·qt
西游音月6 小时前
(7)框架搭建:Qt实战项目之主窗体导航栏、状态栏
开发语言·qt
3***49966 小时前
Swift Experience
开发语言·ios·swift
iFlow_AI6 小时前
iFlow CLI Hooks 「从入门到实战」应用指南
开发语言·前端·javascript·人工智能·ai·iflow·iflow cli