时间通用类 datetime

本文介绍了一个实用的时间处理工具类,包括获取Unix时间戳、转换日期格式、获取指定日期的名称等功能,并提供了根据日、周、月等不同周期获取日期名称的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/// <summary>
    /// 时间通用类
    /// </summary>
    public class DateTimeGeneral
    {
        /// <summary>
        /// 获取unix时间
        /// </summary>
        /// <returns></returns>
        public static int GetUnixTime()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt32(ts.TotalSeconds);
        }
        /// <summary>
        /// 获取unix时间
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public static int GetUnixTime(DateTime t)
        {
            TimeSpan ts = t - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt32(ts.TotalSeconds);
        }
        public static DateTime DateIntToDateTime(int dateInt)
        {
            try
            {

                return DateTime.ParseExact(dateInt.ToString(), "yyyyMMdd", System.Globalization.DateTimeFormatInfo.CurrentInfo);
            }
            catch {
                return DateTime.Now;
            }
        }
        /// <summary>
        /// 根据按日,按周,按月等方式获取相关的名字
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="dateMode"></param>
        /// <returns></returns>
        public static string GetCategoriesName(DateTime dt, Enums.ReportChartsDateModeEnum dateMode)
        {
            string r = "";
            switch (dateMode)
            {
                case Enums.ReportChartsDateModeEnum.ForDay:
                    r = dt.ToString("yyyy-MM-dd");
                    break;
                case Enums.ReportChartsDateModeEnum.ForWeek:
                    //计算日期是第几周:
                    
                    int weekOfYear =  WeekOfYear(dt);
                    r = "" + weekOfYear + "";
                    break;
                case Enums.ReportChartsDateModeEnum.ForMonth:
                    r = dt.Month + "";
                    break;
                default:
                    r = dt.ToString("yyyy-MM-dd");
                    break;
            }

            return r;
        }
        /// <summary>
        /// 获取一年中的第几周
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static int WeekOfYear(DateTime dt)
        {
            GregorianCalendar gc = new GregorianCalendar(GregorianCalendarTypes.Localized);
            int weekOfYear = gc.GetWeekOfYear(dt, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
            return weekOfYear;
        }
        
    }

 

转载于:https://www.cnblogs.com/dj258/p/9253106.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值