class TimeCount
{
// 临时变量,存放当前类能表示的最大年份值
private static ulong MaxYear = 0;
///
/// 获取毫秒能表示的最大年份数
///
/// 年份数最大值
public static ulong GetMaxYearCount()
{
if (TimeCount.MaxYear != 0)
return TimeCount.MaxYear;
else
{
double ulongMax = Math.Pow(2, 64);
double yearToMiliseconds = (double)12 * (double)30 * (double)24 * (double)3600 * (double)1000;
TimeCount.MaxYear = (ulong)(ulongMax / yearToMiliseconds);
return TimeCount.MaxYear;
}
}
///
/// 把当前系统时间转换成毫秒
///
/// 当前系统时间所对应的毫秒数
public static ulong GetCurrentTimeByMiliSec()
{
DateTime t = DateTime.Now;
ulong millisecond = ((((((ulong)t.Year * 12 + (ulong)t.Month) * 30 + (ulong)t.Day) * 24 + (ulong)t.Hour) * 60 + (ulong)t.Minute) * 60
+ (ulong)t.Second) * 1000 + (ulong)(t.Millisecond);
return millisecond;
}
///
/// 不太实用的函数,给定三个输入,得到时间差,以字符串形式返回
///
/// 时间前面的前缀,例如“绘制XX所用时间为:”
/// 第一个时间
/// 第二个时间,无所谓先后,总之最后会取绝对值
///