using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
namespace TProduct.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);
}
}
}