让datetime.now返回最近的秒数我有一个“请求”给出最近的秒数时间戳……但不是更准确。舍入或截断时间很好。我想出了这个可憎的dateTime=DateTime.Parse(DateTime.UtcNow.ToString("U"));(U是长格式的日期和时间。“2007年1月3日17:25:30”)是否有一些不那么可怕的方法来实现这一目标?编辑:所以从链接截断毫秒答案(感谢JohnOdom)我会做privatestaticDateTimeGetCurrentDateTimeNoMilliseconds(){varcurrentTime=DateTime.UtcNow;返回新的DateTime(currentTime.Ticks-(currentTime.Ticks%TimeSpan.TicksPerSecond),currentTime.Kind);几乎没有那么可怕..但它确实保留了我关心的日期时间的“种类”。我的解决方案没有。您可以将此实现为扩展方法,允许您使用底层刻度将给定的DateTime修剪到指定的精度:%ticks),date.Kind);然后很容易将日期调整到各种精度,如下所示:DateTimenow=DateTime.Now;DateTimenowTrimmedToSeconds=now.Trim(TimeSpan.TicksPerSecond);日期时间nowTrimmedToMinutes=现在。修剪(TimeSpan.TicksPerMinute);您可以使用此构造函数:publicDateTime(intyear,intmonth,intday,inthour,intminute,intsecond)所以它将是:DateTimedt=DateTime.Now;DateTimesecondsDt=newDateTime(dt.Year,dt.Month,dt.Day,dt.Hour,dt.Minute,dt.Second);如果你真的想将时间四舍五入到最接近的秒,你可以使用:DateTime.MinValue.AddSeconds(Math.Round((DateTime.Now-DateTime.MinValue).TotalSeconds));但是,除非额外的半秒真的有所作为,否则您可以删除毫秒部分:DateTime.Now.AddTicks(-1*(DateTime.Now.Ticks%TimeSpan.TicksPerSecond));试试上面这个是C#学习教程:让datetime.now回到最接近的秒,希望大家多多关注——TimeSpanspan=dateTime.Subtract(newDateTi我(1970,1,1,0,0,0,DateTimeKind.Utc));返回span.TotalSeconds;本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
