Files
Hua.DotNet.Code/Helper/DateTimeHelper.cs

84 lines
2.3 KiB
C#

using System;
namespace Hua.DotNet.Code.Helper;
public static class DateTimeHelper
{
public static DateTime GetBeginTime(DateTime? dateTime, int days = 0)
{
if (dateTime == DateTime.MinValue || !dateTime.HasValue)
{
return DateTime.Now.AddDays(days);
}
return dateTime ?? DateTime.Now;
}
public static DateTime ToLocalTimeDateBySeconds(long unix)
{
return DateTimeOffset.FromUnixTimeSeconds(unix).ToLocalTime().DateTime;
}
public static long ToUnixTimestampBySeconds(DateTime dt)
{
return new DateTimeOffset(dt).ToUnixTimeSeconds();
}
public static DateTime ToLocalTimeDateByMilliseconds(long unix)
{
return DateTimeOffset.FromUnixTimeMilliseconds(unix).ToLocalTime().DateTime;
}
public static long ToUnixTimestampByMilliseconds(DateTime dt)
{
return new DateTimeOffset(dt).ToUnixTimeMilliseconds();
}
public static string FormatTime(long ms)
{
int num = 1000;
int num2 = num * 60;
int num3 = num2 * 60;
int num4 = num3 * 24;
long num5 = ms / num4;
long num6 = (ms - num5 * num4) / num3;
long num7 = (ms - num5 * num4 - num6 * num3) / num2;
long num8 = (ms - num5 * num4 - num6 * num3 - num7 * num2) / num;
long num9 = ms - num5 * num4 - num6 * num3 - num7 * num2 - num8 * num;
string text = ((num5 < 10) ? ("0" + num5) : (num5.ToString() ?? ""));
string text2 = ((num6 < 10) ? ("0" + num6) : (num6.ToString() ?? ""));
string text3 = ((num7 < 10) ? ("0" + num7) : (num7.ToString() ?? ""));
string text4 = ((num8 < 10) ? ("0" + num8) : (num8.ToString() ?? ""));
string text5 = ((num9 < 10) ? ("0" + num9) : (num9.ToString() ?? ""));
text5 = ((num9 < 100) ? ("0" + text5) : (text5 ?? ""));
return $"{text} 天 {text2} 小时 {text3} 分 {text4} 秒";
}
public static long GetUnixTimeStamp(DateTime dt)
{
return ((DateTimeOffset)dt).ToUnixTimeMilliseconds();
}
public static DateTime GetDayMinDate(DateTime dt)
{
return new DateTime(dt.Year, dt.Month, dt.Day, 0, 0, 0);
}
public static DateTime GetDayMaxDate(DateTime dt)
{
return new DateTime(dt.Year, dt.Month, dt.Day, 23, 59, 59);
}
public static string FormatDateTime(DateTime? dt)
{
if (dt.HasValue)
{
if (dt.Value.Year == DateTime.Now.Year)
{
return dt.Value.ToString("MM-dd HH:mm");
}
return dt.Value.ToString("yyyy-MM-dd HH:mm");
}
return string.Empty;
}
}