using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace util
{
class DateTimeUtils
{
/// <summary>
/// 根据当前年份和月份查询当月的所有日期集合
/// </summary>
/// <param name="year"></param>
/// <param name="month"></param>
/// <returns></returns>
public List<DateTime> getAllDates(int year, int month)
{
var ret = new List<DateTime>();
for (int i = 1; i <= DateTime.DaysInMonth(year, month); i++)
{
ret.Add(new DateTime(year, month, i));
}
return ret;
}
/// <summary>
/// 判断一个日期是否在一个日期范围时间内
/// </summary>
/// <param name="dt">要判断的日期</param>
/// <param name="dt1">开始日期</param>
/// <param name="dt2">结束日期</param>
/// <returns></returns>
public static bool IsInDate(DateTime dt, DateTime dt1, DateTime dt2)
{
return dt.CompareTo(dt1) >= 0 && dt.CompareTo(dt2) <= 0;
}
/// <summary>
/// 根据格式获取相关的时间差:天、时、分、秒
/// </summary>
/// <param name="dt1">旧的时间</param>
/// <param name="dt2">新的时间</param>
/// <returns></returns>
public static string[] getDayHourBranchSecond(DateTime dt1, DateTime dt2)
{
string[] arr = new string[4];
//计算两个日期的时间间隔
TimeSpan ts1 = new TimeSpan(dt1.Ticks);
TimeSpan ts2 = new TimeSpan(dt2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
/*var dateDiff = ts.Days.ToString() + " 天" + ts.Hours.ToString() + " 小时" + ts.Minutes.ToString() + " 分钟" + ts.Seconds.ToString() + " 秒";*/
// "177 天15 小时16 分钟21 秒"
arr[0] = ts.Days.ToString();
arr[1] = ts.Hours.ToString();
arr[2] = ts.Minutes.ToString();
arr[3] = ts.Seconds.ToString();
return arr;
}
/// <summary>
/// 比较两个日期大小
/// 日期一是否大于日期二
/// </summary>
/// <param name="dateStr1">日期1</param>
/// <param name="dateStr2">日期2</param>
public static bool CompanyDate(DateTime dateStr1, DateTime dateStr2)
{
// 将日期字符串转换为日期对象
int compNum = DateTime.Compare(dateStr1, dateStr2);
// dateStr1> dateStr2
if (compNum > 0)
{
return true;
}
// dateStr1= dateStr2
if (compNum == 0)
{
return true;
}
// dateStr1< dateStr2
if (compNum < 0)
{
return false;
}
return false;
}
}
}
C#日期时间相关工具类
最新推荐文章于 2022-08-16 11:01:30 发布