软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
4.0 KiB

using System;
namespace FangYar.Common
{
public static class TimeFormatter
{
/// 获取时间戳
/// </summary>
/// <returns></returns>
public static string GetTimeStamp(System.DateTime time)
{
long ts = ConvertDateTimeToInt(time);
return ts.ToString();
}
/// <summary>
/// 将c# DateTime时间格式转换为Unix时间戳格式
/// </summary>
/// <param name="time">时间</param>
/// <returns>long</returns>
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;
}
/// <summary>
/// 计算两个日期的时间间隔
/// </summary>
/// <param name="datetimeone">第一个日期和时间</param>
/// <param name="datetimesecond">第二个日期和时间</param>
/// <returns></returns>
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;
}
/// <summary>
/// 计算两个日期的时间间隔,返回小时
/// </summary>
/// <param name="datetimeone">第一个日期和时间</param>
/// <param name="datetimesecond">第二个日期和时间</param>
/// <returns></returns>
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;
}
/// <summary>
/// 计算两个日期的时间间隔,返回分钟
/// </summary>
/// <param name="datetimeone">第一个日期和时间</param>
/// <param name="datetimesecond">第二个日期和时间</param>
/// <returns></returns>
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;
}
/// <summary>
/// 计算两个日期的时间间隔,返回秒
/// </summary>
/// <param name="datetimeone">第一个日期和时间</param>
/// <param name="datetimesecond">第二个日期和时间</param>
/// <returns></returns>
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;
}
/// <summary>
/// 计算两个日期的时间间隔,返回天
/// </summary>
/// <param name="datetimeone">第一个日期和时间</param>
/// <param name="datetimesecond">第二个日期和时间</param>
/// <returns></returns>
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;
}
}
}