我想从日期时间开始/删除秒数.我检查了一些解决方案,但显示使用格式字符串的解
DateTime datetime = DateTime.UtcNow;
Run Code Online (Sandbox Code Playgroud)
这个日期时间也有几秒钟,但我想从这个日期时间开始.
内联注释:我想使用任何内置函数或正则表达式去掉秒.
预期投入:08/02/2015 09:22:45(不清楚string或DateTime)
结果:08/02/2015 09:22:00(不清楚string或DateTime)
小智 21
你可以做
DateTime dt = DateTime.Now;
dt = dt.AddSeconds(-dt.Second);
Run Code Online (Sandbox Code Playgroud)
将秒数设置为0.
Mik*_*son 19
您可以创建一个新的日期实例,并将秒设置为0.
DateTime a = DateTime.UtcNow;
DateTime b = new DateTime(a.Year, a.Month, a.Day, a.Hour, a.Minute, 0, DateTimeKind.Utc);
Console.WriteLine(a);
Console.WriteLine(b);
Run Code Online (Sandbox Code Playgroud)
cla*_*oda 10
DateTime实际上单独存储为 aDate和 a TimeOfDay。我们可以轻松地重新初始化日期,而无需在TimeSpan初始化中包含秒数。这也确保删除任何剩余的毫秒。
date = date.Date + new TimeSpan(date.TimeOfDay.Hours, date.TimeOfDay.Minutes, 0);
Run Code Online (Sandbox Code Playgroud)
从 DateTime 中去除秒和毫秒的简单解决方案:
DateTime dt = DateTime.Now;
DateTime secondsStripped = dt.Date.AddHours(dt.Hour).AddMinutes(dt.Minute);
Run Code Online (Sandbox Code Playgroud)
这个比较优雅的解决方案怎么样?
new DateTime(DateTime.UtcNow.Ticks / 600000000 * 600000000)
Run Code Online (Sandbox Code Playgroud)
...这也将剥夺任何毫秒/微秒/纳秒。