c# – 转换DateTime.Now到Seconds
发布时间:2020-12-15 06:25:31 所属栏目:百科 来源:网络整理
导读:我试图编写一个函数,将一个DateTime.Now实例转换成它所表示的秒数,以便我可以将它与另一个DateTime实例进行比较.这是我目前拥有的: public static int convertDateTimeToSeconds(DateTime dateTimeToConvert) { int secsInAMin = 60; int secsInAnHour = 60
我试图编写一个函数,将一个DateTime.Now实例转换成它所表示的秒数,以便我可以将它与另一个DateTime实例进行比较.这是我目前拥有的:
public static int convertDateTimeToSeconds(DateTime dateTimeToConvert) { int secsInAMin = 60; int secsInAnHour = 60 * secsInAMin; int secsInADay = 24 * secsInAnHour; double secsInAYear = (int)365.25 * secsInADay; int totalSeconds = (int)(dateTimeToConvert.Year * secsInAYear) + (dateTimeToConvert.DayOfYear * secsInADay) + (dateTimeToConvert.Hour * secsInAnHour) + (dateTimeToConvert.Minute * secsInAMin) + dateTimeToConvert.Second; return totalSeconds; } 我意识到我在一年中截断了几秒钟的计算,但是我不需要我的计算是精确的.我真的想知道我用来计算秒数的方法是否正确. 有没有人有任何可以更好地计算从DateTime对象给出的秒数? 此外,如果我在C#中编码,如果我要计算自AD以来的所有秒钟,返回类型是int64吗? 解决方法
DateTime型支持
comparison operators:
if (dateTimeA > dateTimeB) { ... 这也适用于DateTime.AddSeconds返回的DateTime个值: if (dateTimeA.AddSeconds(42) > dateTimeB) { ... 如果您确实希望自01/01/0001 00:00:00之后经过的秒数,您可以计算两个DateTime值之间的差异.结果TimeSpan的价值有TotalSeconds属性: double result = DateTime.Now.Subtract(DateTime.MinValue).TotalSeconds; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |