1 for (DateTime dt = startDate; dt < endDate; dt = dt.AddMonths(1)) 2 { 3 var year = date.Year; 4 var month= date.Month; 5 }
時間戳

public static class DateTimeUtil { /// <summary> /// 時間戳計時開始時間 /// </summary> private static DateTime timeStampStartTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); /// <summary> /// DateTime轉換為10位時間戳(單位:秒) /// </summary> /// <param name="dateTime"> DateTime</param> /// <returns>10位時間戳(單位:秒)</returns> public static long DateTimeToTimeStamp(DateTime dateTime) { return (long)(dateTime.ToUniversalTime() - timeStampStartTime).TotalSeconds; } /// <summary> /// DateTime轉換為13位時間戳(單位:毫秒) /// </summary> /// <param name="dateTime"> DateTime</param> /// <returns>13位時間戳(單位:毫秒)</returns> public static long DateTimeToLongTimeStamp(DateTime dateTime) { return (long)(dateTime.ToUniversalTime() - timeStampStartTime).TotalMilliseconds; } /// <summary> /// 10位時間戳(單位:秒)轉換為DateTime /// </summary> /// <param name="timeStamp">10位時間戳(單位:秒)</param> /// <returns>DateTime</returns> public static DateTime TimeStampToDateTime(long timeStamp) { return timeStampStartTime.AddSeconds(timeStamp).ToLocalTime(); } /// <summary> /// 13位時間戳(單位:毫秒)轉換為DateTime /// </summary> /// <param name="longTimeStamp">13位時間戳(單位:毫秒)</param> /// <returns>DateTime</returns> public static DateTime LongTimeStampToDateTime(long longTimeStamp) { return timeStampStartTime.AddMilliseconds(longTimeStamp).ToLocalTime(); } } public static partial class Ext { /// <summary> /// 時間工具類 /// </summary> /// <summary> /// 獲取格式化字符串,帶時分秒,格式:"yyyy-MM-dd HH:mm:ss" /// </summary> /// <param name="dateTime">日期</param> /// <param name="isRemoveSecond">是否移除秒</param> public static string ToDateTimeString(this DateTime dateTime, bool isRemoveSecond = false) { if (isRemoveSecond) return dateTime.ToString("yyyy-MM-dd HH:mm"); return dateTime.ToString("yyyy-MM-dd HH:mm:ss"); } /// <summary> /// 獲取格式化字符串,帶時分秒,格式:"yyyy-MM-dd HH:mm:ss" /// </summary> /// <param name="dateTime">日期</param> /// <param name="isRemoveSecond">是否移除秒</param> public static string ToDateTimeString(this DateTime? dateTime, bool isRemoveSecond = false) { if (dateTime == null) return string.Empty; return ToDateTimeString(dateTime.Value, isRemoveSecond); } /// <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() { return DateTime.Now.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日" /// </summary> /// <param name="dateTime">日期</param> public static string ToChineseDateString(this DateTime? dateTime) { if (dateTime == null) return string.Empty; return ToChineseDateString(dateTime.SafeValue()); } /// <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); } }
對json的一些操作

1 public static class Json 2 { 3 public static object ToJson(this string Json) 4 { 5 return Json == null ? null : JsonConvert.DeserializeObject(Json); 6 } 7 public static string ToJson(this object obj) 8 { 9 var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" }; 10 return JsonConvert.SerializeObject(obj, timeConverter); 11 } 12 public static string ToJson(this object obj, string datetimeformats) 13 { 14 var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats }; 15 return JsonConvert.SerializeObject(obj, timeConverter); 16 } 17 public static T ToObject<T>(this string Json) 18 { 19 return Json == null ? default(T) : JsonConvert.DeserializeObject<T>(Json); 20 } 21 public static List<T> ToList<T>(this string Json) 22 { 23 return Json == null ? null : JsonConvert.DeserializeObject<List<T>>(Json); 24 } 25 public static DataTable ToTable(this string Json) 26 { 27 return Json == null ? null : JsonConvert.DeserializeObject<DataTable>(Json); 28 } 29 public static JObject ToJObject(this string Json) 30 { 31 return Json == null ? JObject.Parse("{}") : JObject.Parse(Json.Replace(" ", "")); 32 } 33 }