代点任意广告链接网站,怎样做才能让百度搜到网站产品,h5做的公司网站,网站开发美工的任务前言在.NET 6之前#xff0c;没有方法来直接表示没有时间的日期#xff08;比如生日#xff09;或者没有日期的一天中的时间#xff08;比如闹钟#xff09;。虽然我们可以使用DateTime类和TimeSpan类来代替#xff0c;但是实际使用中会存在一些问题#xff1a;var date… 前言在.NET 6之前没有方法来直接表示没有时间的日期比如生日或者没有日期的一天中的时间比如闹钟。虽然我们可以使用DateTime类和TimeSpan类来代替但是实际使用中会存在一些问题var dateOnly new DateTime(2021, 10, 1);
//输出
2021/10/1 0:00:00
//问题还是有时间并不能代表0点出生var timeOnly new TimeSpan(11, 22, 0).Add(TimeSpan.FromHours(24));
//输出
1.11:22:00
//问题过了24小时应该还是当前时间实际带了天数因此.Net 6引入了DateOnly和TimeOnly结构可以存储日期和时间Demo1.创建实例我们可以直接创建DateOnly或者TimeOnly的实例var dateOnly new DateOnly(2021, 10, 1);
//输出
10/1/2021var timeOnly new TimeOnly(11, 22, 0);
//输出
11:22 AM还可以使用FromDateTime方法从DateTime实例中生成var datetime new DateTime(2021, 10, 1, 10, 1, 0);var dateOnly DateOnly.FromDateTime(datetime);var timeOnly TimeOnly.FromDateTime(datetime);还可以使用FromTimeSpan方法从TimeSpan实例中生成TimeOnlyvar timeSpan new TimeSpan(11, 22, 0);var timeOnly TimeOnly.FromTimeSpan(timeSpan);2.类型转换反之可以使用ToDateTime方法将DateOnly实例转换成DateTimevar dateOnly new DateOnly(2021, 10, 1);var timeOnly new TimeOnly(11, 22, 0);var datetime dateOnly.ToDateTime(timeOnly);
//输出
10/1/2021 11:22:00 AM可以看到必须同时带上TimeOnly实例才能转换。也可以使用ToTimeSpan方法将TimeOnly实例转换成TimeSpanvar timeOnly new TimeOnly(11, 22, 0);var timeSpan timeOnly.ToTimeSpan();
//输出
11:22:003.操作DateOnly和TimeOnly类型还提供了比较运算符例如和和AddXXX方法进行操作var noon new TimeOnly(12, 0);
if (now noon)
{//早上...
}dateOnly dateOnly.AddDays(7);timeOnly timeOnly.AddHours(24);需要注意的是仅仅TimeOnly类型支持-运算符获得TimeSpan时间间隔。结论DateOnly和TimeOnly的引入并不意味着DateTime将不再有用只是将它们用在不同场景。如果你觉得这篇文章对你有所启发请帮忙点个赞或者在看