using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; namespace IStation.Extensions { /// /// DateTime 拓展 /// public static class DateTimeExtension { /// /// 获取周数 /// public static int GetWeekOfYear(this DateTime dt) { GregorianCalendar gc = new GregorianCalendar(); int weekOfYear = gc.GetWeekOfYear(dt, CalendarWeekRule.FirstDay, DayOfWeek.Monday); return weekOfYear; } /// /// 获取周一时间 /// public static DateTime GetWeekFirst(this DateTime dt) { var dayOfWeek = dt.DayOfWeek; if (dayOfWeek == DayOfWeek.Sunday) return dt.AddDays(-6).Date; return dt.AddDays(1 - (int)dayOfWeek).Date; } /// /// 获取本周末 /// public static DateTime GetWeekLast(this DateTime dt) { var dayOfWeek = dt.DayOfWeek; if (dayOfWeek == DayOfWeek.Sunday) return dt.Date; return dt.AddDays(7 - (int)dayOfWeek).Date; } /// /// 获取月初 /// public static DateTime GetMonthFirst(this DateTime dt) { return new DateTime(dt.Year, dt.Month, 1); } /// /// /获取月末 /// public static DateTime GetMonthLast(this DateTime dt) { var dt_temp = dt.AddMonths(1); return dt_temp.AddDays(-1).Date; } /// /// yyyy-MM-dd 格式字符串 /// public static string ToStandardDateString(this DateTime dt) { var format = "yyyy-MM-dd"; return dt.ToString(format); } /// /// HH:mm:ss 格式字符串 /// public static string ToStandardTimeString(this DateTime dt) { var format = "HH:mm:ss"; return dt.ToString(format); } /// /// yyyy-MM-dd HH:mm:ss 格式字符串 /// public static string ToStandardString(this DateTime dt) { var format = "yyyy-MM-dd HH:mm:ss"; return dt.ToString(format); } } }