C# 時間格式轉換


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Elight.Infrastructure
{
public static class ExtDateTime
{
/// <summary>
/// 獲取格式化字符串,不帶時分秒。格式:"yyyy-MM-dd"
/// </summary>
/// <param name="dateTime">日期</param>
public static string ToDateString(this DateTime dateTime)
{
return dateTime.ToString("yyyy-MM-dd");
}

/// <summary>
/// 獲取格式化字符串,不帶時分秒。格式:"yyyy-MM-dd"
/// </summary>
/// <param name="dateTime">日期</param>
public static string ToDateString(this DateTime? dateTime)
{
if (dateTime == null)
{
return string.Empty;
}
return ToDateString(dateTime.Value);
}

/// <summary>
/// 獲取格式化字符串,不帶年月日,格式:"HH:mm:ss"
/// </summary>
/// <param name="dateTime">日期</param>
public static string ToTimeString(this DateTime dateTime)
{
return dateTime.ToString("HH:mm:ss");
}

/// <summary>
/// 獲取格式化字符串,不帶年月日,格式:"HH:mm:ss"
/// </summary>
/// <param name="dateTime">日期</param>
public static string ToTimeString(this DateTime? dateTime)
{
if (dateTime == null)
{
return string.Empty;
}
return ToTimeString(dateTime.Value);
}

/// <summary>
/// 獲取格式化字符串,帶毫秒,格式:"yyyy-MM-dd HH:mm:ss.fff"
/// </summary>
/// <param name="dateTime">日期</param>
public static string ToMillisecondString(this DateTime dateTime)
{
return dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
}

/// <summary>
/// 獲取格式化字符串,帶毫秒,格式:"yyyy-MM-dd HH:mm:ss.fff"
/// </summary>
/// <param name="dateTime">日期</param>
public static string ToMillisecondString(this DateTime? dateTime)
{
if (dateTime == null)
{
return string.Empty;
}
return ToMillisecondString(dateTime.Value);
}

/// <summary>
/// 獲取格式化字符串,不帶時分秒,格式:"yyyy年MM月dd日"
/// </summary>
/// <param name="dateTime">日期</param>
public static string ToChineseDateString(this DateTime dateTime)
{
return string.Format("{0}年{1}月{2}日", dateTime.Year, dateTime.Month, dateTime.Day);
}

/// <summary>
/// 獲取格式化字符串,帶時分秒,格式:"yyyy年MM月dd日 HH時mm分"
/// </summary>
/// <param name="dateTime">日期</param>
/// <param name="isRemoveSecond">是否移除秒</param>
public static string ToChineseDateTimeString(this DateTime dateTime, bool isRemoveSecond = false)
{
StringBuilder result = new StringBuilder();
result.AppendFormat("{0}年{1}月{2}日", dateTime.Year, dateTime.Month, dateTime.Day);
result.AppendFormat(" {0}時{1}分", dateTime.Hour, dateTime.Minute);

if (isRemoveSecond == false)
{
result.AppendFormat("{0}秒", dateTime.Second);
}

return result.ToString();
}

/// <summary>
/// 獲取格式化字符串,帶時分秒,格式:"yyyy年MM月dd日 HH時mm分"
/// </summary>
/// <param name="dateTime">日期</param>
/// <param name="isRemoveSecond">是否移除秒</param>
public static string ToChineseDateTimeString(this DateTime? dateTime, bool isRemoveSecond = false)
{
if (dateTime == null)
{
return string.Empty;
}

return ToChineseDateTimeString(dateTime.Value);
}

/// <summary>
/// 返回指定日期起始時間。
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static DateTime StartDateTime(this DateTime dateTime)
{
if (dateTime == null)
{
throw new ArgumentNullException();
}

return new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, 0, 0, 0);
}
/// <summary>
/// 返回指定日期結束時間。
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static DateTime EndDateTime(this DateTime dateTime)
{
if (dateTime == null)
{
throw new ArgumentNullException();
}

return new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, 23, 59, 59);
}
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM