关于时间处理的相关类

编程入门 行业动态 更新时间:2024-10-11 11:25:07

关于<a href=https://www.elefans.com/category/jswz/34/1771441.html style=时间处理的相关类"/>

关于时间处理的相关类


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace InterfaceBll
{public class DatetimeHelper{/// <summary>/// 得到本周第一天(以星期一为第一天)/// </summary>/// <param name="datetime"></param>/// <returns></returns>public static DateTime GetWeekFirstDayMon(DateTime datetime){//星期一为第一天int weeknow = Convert.ToInt32(datetime.DayOfWeek);//因为是以星期一为第一天,所以要判断weeknow等于0时,要向前推6天。weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1));int daydiff = (-1) * weeknow;//本周第一天string firstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");return Convert.ToDateTime(firstDay);}/// <summary>/// 得到本周最后一天(以星期天为最后一天)/// </summary>/// <param name="datetime"></param>/// <returns></returns>public static DateTime GetWeekLastDaySun(DateTime datetime){//星期天为最后一天int weeknow = Convert.ToInt32(datetime.DayOfWeek);weeknow = (weeknow == 0 ? 7 : weeknow);int daydiff = (7 - weeknow);//本周最后一天string lastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");return Convert.ToDateTime(lastDay);}/// <summary>/// 获得季度值。/// </summary>/// <param name="month">月份</param>/// <returns></returns>public static int GetSeason(int month){if (month < 4)return 1;else if (month >= 4 && month < 7)return 2;else if (month >= 7 && month < 10)return 3;elsereturn 4;}/// <summary>/// 获得季度名称。/// </summary>/// <param name="month">月份</param>/// <returns></returns>public static string GetSeasonName(int month){if (month < 4)return "一季度";else if (month >= 4 && month < 7)return "二季度";else if (month >= 7 && month < 10)return "三季度";elsereturn "四季度";}/// <summary>/// 根据月份获取本月分所在季节的首月及末月/// </summary>/// <param name="month">当前月份</param>/// <param name="bMonth">首月</param>/// <param name="eMonth">末月</param>///  <returns>当前月份所属的季度</returns>public static string GetSeasonMonth(string month, ref string bMonth, ref string eMonth){string season = "";switch (month){case "01":case "02":case "03":bMonth = "01";eMonth = "03";season = "1";break;case "04":case "05":case "06":bMonth = "04";eMonth = "06";season = "2";break;case "07":case "08":case "09":bMonth = "07";eMonth = "09";season = "3";break;case "10":case "11":case "12":bMonth = "10";eMonth = "12";season = "4";break;default:break;}return season;}/// <summary>/// 获取该年中是第几周/// </summary>/// <param name="day">日期</param>/// <returns></returns>public static int WeekOfYear(DateTime day){int weeknum;DateTime fDt = DateTime.Parse(day.Year.ToString() + "-01-01");int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第一天是周几 if (k == 0){k = 7;}int l = Convert.ToInt32(day.DayOfYear);//得到当天是该年的第几天 l = l - (7 - k + 1);if (l <= 0){weeknum = 1;}else{if (l % 7 == 0){weeknum = l / 7 + 1;}else{weeknum = l / 7 + 2;//不能整除的时候要加上前面的一周和后面的一周 }}return weeknum;}/// <summary>/// 取得年唯一名称/// </summary>/// <param name="year"></param>/// <returns></returns>public static string GetYearUniqueName(int year){return string.Format("[时间].[年月日].[年].&[{0}]", year);}/// <summary>///  取得季唯一名称/// </summary>/// <param name="year"></param>/// <param name="month"></param>/// <returns></returns>public static string GetQuarterUniqueName(int year, int month){string quarter = GetSeason(month).ToString().PadLeft(2, '0');return string.Format("[时间].[年月日].[季度].&[{0}]&[{0}{1}]", year, quarter);}/// <summary>///  取得月唯一名称/// </summary>/// <param name="year"></param>/// <param name="month"></param>/// <returns></returns>public static string GetMonthUniqueName(int year, int month){string quarter = GetSeason(month).ToString().PadLeft(2, '0');string mon = month.ToString().PadLeft(2, '0');return string.Format("[时间].[年月日].[月].&[{0}]&[{0}{1}]&[{0}{2}]", year, quarter, mon);}/// <summary>/// 取得年唯一名称/// </summary>/// <param name="year"></param>/// <returns></returns>public static string GetYearUniqueName(string year){return string.Format("[发生时间].[年季月].[年].&[{0}]", year);}/// <summary>///  取得季唯一名称/// </summary>/// <param name="year"></param>/// <param name="month"></param>/// <returns></returns>public static string GetQuarterUniqueName(string year, string month){string quarter = GetSeason(int.Parse(month)).ToString().PadLeft(2, '0');return string.Format("[发生时间].[年季月].[季].&[{0}]", year + quarter);}/// <summary>///  取得月唯一名称/// </summary>/// <param name="year"></param>/// <param name="month"></param>/// <returns></returns>public static string GetMonthUniqueName(string yearMonth){return string.Format("[发生时间].[年季月].[月].&[{0}]", yearMonth);}/// <summary>/// 取得年唯一名称/// </summary>/// <param name="name">维度名称</param>/// <param name="year">年</param>/// <returns></returns>public static string GetYearUniqueName(string name, string year){return string.Format("[{1}].[年季月].[年].&[{0}]", year, name);}/// <summary>///  取得季唯一名称/// </summary>/// <param name="year"></param>/// <param name="name">维度名称</param>/// <param name="month"></param>/// <returns></returns>public static string GetQuarterUniqueName(string name, string year, string month){string quarter = GetSeason(int.Parse(month)).ToString().PadLeft(2, '0');return string.Format("[{1}].[年季月].[季].&[{0}]", year + quarter, name);}/// <summary>///  取得月唯一名称/// </summary>/// <param name="name">维度名称</param>/// <param name="year"></param>/// <param name="month"></param>/// <returns></returns>public static string GetMonthUniqueName(string name, string yearMonth){return string.Format("[{1}].[年季月].[月].&[{0}]", yearMonth, name);}}
}

更多推荐

关于时间处理的相关类

本文发布于:2024-02-05 11:27:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1745282.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:时间

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!