我有一个整数,说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)
无法在几分钟或几秒钟内识别数据?
答案 0 :(得分:1)
嗯,你可以假设,如果数字小于某个阈值,这在你的上下文中是有意义的,那么它的分钟,否则它的秒数。例如:
int number = 19003680;
if(number < 42076800) // 2050-01-01 in minutes, 1971-03-05 in seconds.
{
// minutes
}
else
{
// seconds
}
然而,这个问题违背了良好编程的原则 - 一个变量应该只有一个含义。如果变量可以表示秒和分钟,那么数据设计就会出现问题。
修改强> 如果你不能合理地将数据限制在几秒钟和几分钟不重叠的地方 - 也就是说,如果你可以用秒表示大日期,用几分钟表示小日期,那么可悲的是它&#39;无法区分这两者。