using System; namespace FangYar.Common { public static class TimeFormatter { /// 获取时间戳 /// /// public static string GetTimeStamp(System.DateTime time) { long ts = ConvertDateTimeToInt(time); return ts.ToString(); } /// /// 将c# DateTime时间格式转换为Unix时间戳格式 /// /// 时间 /// long public static long ConvertDateTimeToInt(System.DateTime time) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0)); long t = (time.Ticks - startTime.Ticks) / 10000; //除10000调整为13位 return t; } /// /// 计算两个日期的时间间隔 /// /// 第一个日期和时间 /// 第二个日期和时间 /// public static string DateDiff(DateTime datetimeone, DateTime datetimesecond) { string dateDiff = null; TimeSpan ts1 = new TimeSpan(datetimeone.Ticks); TimeSpan ts2 = new TimeSpan(datetimesecond.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒"; return dateDiff; } /// /// 计算两个日期的时间间隔,返回小时 /// /// 第一个日期和时间 /// 第二个日期和时间 /// public static int DateDiffHours(DateTime datetimeone, DateTime datetimesecond) { TimeSpan ts1 = new TimeSpan(datetimeone.Ticks); TimeSpan ts2 = new TimeSpan(datetimesecond.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); return ts.Hours; } /// /// 计算两个日期的时间间隔,返回分钟 /// /// 第一个日期和时间 /// 第二个日期和时间 /// public static int DateDiffMinutes(DateTime datetimeone, DateTime datetimesecond) { TimeSpan ts1 = new TimeSpan(datetimeone.Ticks); TimeSpan ts2 = new TimeSpan(datetimesecond.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); return ts.Minutes; } /// /// 计算两个日期的时间间隔,返回秒 /// /// 第一个日期和时间 /// 第二个日期和时间 /// public static int DateDiffSeconds(DateTime datetimeone, DateTime datetimesecond) { TimeSpan ts1 = new TimeSpan(datetimeone.Ticks); TimeSpan ts2 = new TimeSpan(datetimesecond.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); return ts.Seconds; } /// /// 计算两个日期的时间间隔,返回天 /// /// 第一个日期和时间 /// 第二个日期和时间 /// public static int DateDiffDays(DateTime datetimeone, DateTime datetimesecond) { TimeSpan ts1 = new TimeSpan(datetimeone.Ticks); TimeSpan ts2 = new TimeSpan(datetimesecond.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); return ts.Days; } } }