如何识别日期在c#中以秒或分钟为单位

时间:2016-02-18 09:25:20

标签: c# .net datetime integer type-conversion

我有一个整数,说Int64 i。此变量中的数据均为分钟格式和秒格式。 Ho可以识别整数是在munute还是以秒为单位

假设,

Int64 i = 0;

现在价值可能是..(2016-02-18 00:00:00:000日期)

i = 1140220800; //(value is in seconds)
//or 
i = 19003680; //(value is in minutes i.e. 1140220800/60)

无法在几分钟或几秒钟内识别数据?

1 个答案:

答案 0 :(得分:1)

嗯,你可以假设,如果数字小于某个阈值,这在你的上下文中是有意义的,那么它的分钟,否则它的秒数。例如:

int number = 19003680;
if(number < 42076800) // 2050-01-01 in minutes, 1971-03-05 in seconds.
{
    // minutes
}
else
{
    // seconds
}

然而,这个问题违背了良好编程的原则 - 一个变量应该只有一个含义。如果变量可以表示秒和分钟,那么数据设计就会出现问题。

修改 如果你不能合理地将数据限制在几秒钟和几分钟不重叠的地方 - 也就是说,如果你可以用秒表示大日期,用几分钟表示小日期,那么可悲的是它&#39;无法区分这两者。