获取当前时间的一周列表

 /// <summary>
        /// 获取当前时间的一周列表
        /// </summary>
        /// <param name="time"></param>
        /// <returns></returns>
        public static List<HdisWeek> HdsiWeek(this DateTime time)
        {
            var weekDays = new List<HdisWeek>();

            var weekIndex = time.WeekDayIndex(); //获取当前时间的星期索引
            
            for (int index = 1; index <= weekIndex; index++) //从礼拜一到当前星期索引
            {
                weekDays.Add(new HdisWeek()
                {

                    WeekIndex = index,
                    WeekDate = time.AddDays(index - weekIndex).Date,
                    WeekDay = GetLocalWeekDayChs(index)
                });
            }
            for (int index = weekIndex+1; index <=7; index++) //当前星期索引到礼拜天
            {
                weekDays.Add(new HdisWeek()
                {
                    WeekIndex = index,
                    WeekDate = time.AddDays(index - weekIndex).Date,
                    WeekDay = GetLocalWeekDayChs(index)
                });
            }
            return weekDays;
        }


 /// <summary>
        /// 获取该时间的星期索引
        /// </summary>
        /// <param name="time"></param>
        /// <returns></returns>
        public static int WeekDayIndex(this DateTime time)
        {
            var utcIndex = int.Parse(time.DayOfWeek.ToString("D")); //国际索引
            var localIndex = utcIndex == 0 ? 7 : utcIndex; //本地索引
            return localIndex;
        }

        /// <summary>
        /// 格式化中文星期
        /// </summary>
        /// <param name="weekIndex"></param>
        /// <returns></returns>
        private static string GetLocalWeekDayChs(int weekIndex)
        {
            switch (weekIndex)
            {
                case 1:
                    return "周一";
                case 2:
                    return "周二";
                case 3:
                    return "周三";
                case 4:
                    return "周四";
                case 5:
                    return "周五";
                case 6:
                    return "周六";
                case 7:
                    return "周日";
                default:
                    return "未知";
            }
        }
 //
public class HdisWeek
    {
        /// <summary>
        /// 日期格式化
        /// </summary>
        public string WeekDateFormatter=> WeekDate.ToString("yyyy年MM月dd号");

        /// <summary>
        /// 日期
        /// </summary>
        public  DateTime WeekDate { get; set; }

        /// <summary>
        /// 周索引
        /// </summary>
        public  int WeekIndex { get; set; }


        /// <summary>
        /// 日期
        /// </summary>
        public  string WeekDay { get; set; }
    }

//调用

 DateTime.Now.HdsiWeek().First().WeekDate

//第一条结果

2018年07月23号
2018-07-23
1
周一

转载于:https://www.cnblogs.com/shiruina/p/9354873.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值