格式化DateTime而不进行字符串转换
本文关键字:字符串 转换 DateTime 格式化 | 更新日期: 2023-09-27 18:29:20
我正在修改一些遗留代码,下面是。。。
DateTime dateTime = DateTime.Now;
DateTime from = DateTime.Parse(dateTime.ToString("dd/MM/yyyy 00:00:00"));
DateTime to = DateTime.Parse(dateTime.AddDays(8).ToString("dd/MM/yyyy 23:59:59"));
然后在Linq/Lambda比较中使用from和to变量,因此必须是DateTime。
我似乎找不到一种方法来格式化DateTime变量,而不将其转换为字符串,然后再转换回DateTime,至少可以说,这似乎很愚蠢。
肯定有一种方法可以格式化DateTime,而不必将其转换为字符串,然后再转换回DateTime?
不需要将DateTime
转换为字符串,然后将其解析回DateTime
,而是使用DateTime.Date
,如:
DateTime from = dateTime.Date;
DateTime to = dateTime.Date.AddDays(9).AddTicks(-1); //or .AddSeconds(-1) if you want
// accuracy to a second.
DateTime
没有任何隐式格式。它的字符串表示有。Today
属性将时间部分设置为午夜。
DateTime from = DateTime.Today;
DateTime to = DateTime.Today.AddDays(9).AddSeconds(-1);