86 lines
3.3 KiB
C#
86 lines
3.3 KiB
C#
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|||
|
using System;
|
|||
|
|
|||
|
namespace Falcon.SugarApi.Test
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 日期时间扩展方法测试
|
|||
|
/// </summary>
|
|||
|
[TestClass]
|
|||
|
public class DateTimeExtendTest
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 测试过程
|
|||
|
/// </summary>
|
|||
|
[TestMethod]
|
|||
|
public void TestFunction() {
|
|||
|
var dt = DateTime.Now;
|
|||
|
Console.WriteLine($"当前时间:{dt:yyyy-MM-dd}");
|
|||
|
DateTime r;
|
|||
|
int y = dt.Year, m = dt.Month, d = dt.Day;
|
|||
|
|
|||
|
r = dt.GetFirstDayOfTheWeek();
|
|||
|
Console.WriteLine($"本周第一天(默认礼拜一):{r:yyyy-MM-dd}");
|
|||
|
Assert.IsTrue(r.DayOfWeek == DayOfWeek.Monday, "默认星期一为第一天");
|
|||
|
Assert.IsTrue(r.Year == y);
|
|||
|
Assert.IsTrue(r.Month == m);
|
|||
|
Assert.IsTrue(r.Hour == 0);
|
|||
|
Assert.IsTrue(r.Minute == 0);
|
|||
|
Assert.IsTrue(r.Second == 0);
|
|||
|
|
|||
|
r = dt.GetFirstDayOfTheWeek(DayOfWeek.Sunday);
|
|||
|
Console.WriteLine($"本周第一天(礼拜天):{r:yyyy-MM-dd}");
|
|||
|
Assert.IsTrue(r.DayOfWeek == DayOfWeek.Sunday, "默认星期天为第一天");
|
|||
|
Assert.IsTrue(r.Year == y);
|
|||
|
Assert.IsTrue(r.Month == m);
|
|||
|
|
|||
|
r = new DateTime(2022, 1, 1);
|
|||
|
Assert.IsTrue(r.GetWeekOfTheYear() == 1);
|
|||
|
r = new DateTime(2022, 1, 5);
|
|||
|
Assert.IsTrue(r.GetWeekOfTheYear() == 2);
|
|||
|
Assert.IsTrue(r.Hour == 0);
|
|||
|
Assert.IsTrue(r.Minute == 0);
|
|||
|
Assert.IsTrue(r.Second == 0);
|
|||
|
|
|||
|
r = dt.GetFirstDayOfTheYear();
|
|||
|
Console.WriteLine($"当年的第一天{r:yyyy-MM-dd}");
|
|||
|
Assert.IsTrue(r.Year == dt.Year);
|
|||
|
Assert.IsTrue(r.Month == 1);
|
|||
|
Assert.IsTrue(r.Day == 1);
|
|||
|
Assert.IsTrue(r.Hour == 0);
|
|||
|
Assert.IsTrue(r.Minute == 0);
|
|||
|
Assert.IsTrue(r.Second == 0);
|
|||
|
|
|||
|
r = dt.GetDay(new DateOption {
|
|||
|
DateRangeType = DateRangeType.Monthly, DateType = DateType.FirstDay, RetentionTime = true,
|
|||
|
});
|
|||
|
Console.WriteLine($"当月的第一天保持时间{r:yyyy-MM-dd HH:mm:ss}");
|
|||
|
Assert.IsTrue(r.Year == dt.Year);
|
|||
|
Assert.IsTrue(r.Month == dt.Month);
|
|||
|
Assert.IsTrue(r.Day == 1);
|
|||
|
Assert.IsTrue(r.Hour == dt.Hour);
|
|||
|
Assert.IsTrue(r.Minute == dt.Minute);
|
|||
|
Assert.IsTrue(r.Second == dt.Second);
|
|||
|
|
|||
|
r = dt.GetFirstDayOfTheMonth();
|
|||
|
Console.WriteLine($"当月的第一天{r:yyyy-MM-dd HH:mm:ss}");
|
|||
|
Assert.IsTrue(r.Year == dt.Year);
|
|||
|
Assert.IsTrue(r.Month == dt.Month);
|
|||
|
Assert.IsTrue(r.Day == 1);
|
|||
|
Assert.IsTrue(r.Hour == 0);
|
|||
|
Assert.IsTrue(r.Minute == 0);
|
|||
|
Assert.IsTrue(r.Second == 0);
|
|||
|
|
|||
|
r = dt.GetDay(new DateOption { DateType = DateType.LastDay });
|
|||
|
Console.WriteLine($"当月的最后一天{r:yyyy-MM-dd HH:mm:ss}");
|
|||
|
Assert.IsTrue(r.Year == dt.Year);
|
|||
|
Assert.IsTrue(r.Month == dt.Month);
|
|||
|
Assert.IsTrue(r.Day == 29 || r.Day == 30 || r.Day == 31 );
|
|||
|
Assert.IsTrue(r.Hour == 0);
|
|||
|
Assert.IsTrue(r.Minute == 0);
|
|||
|
Assert.IsTrue(r.Second == 0);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|