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.
110 lines
4.0 KiB
110 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;
|
|
|
|
}
|
|
}
|
|
}
|
|
|