首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取DateTimeFormatInfo.FirstDayOfWeek添加天数的实例?

如何获取DateTimeFormatInfo.FirstDayOfWeek添加天数的实例?
EN

Stack Overflow用户
提问于 2017-02-24 18:52:37
回答 3查看 108关注 0票数 2

以下是我的简化代码:

代码语言:javascript
复制
DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;

var firstReference = dfi.FirstDayOfWeek; // Currently, this could be Monday, Saturday, or Sunday.
var secondReference = dfi.FirstDayOfWeek.AddDays(3); // For this one, it should be something like 3 days after the dynamic value of FirstDayOfWeek.

不幸的是,它不是这样工作的。那么,问题是:有没有办法获得添加了3天的dfi.FirstDayOfWeek的实例?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-24 18:56:39

DayOfWeek是一个Enum,所以你可以将它转换成int,添加days,然后再转换回来,就像这样:

代码语言:javascript
复制
var secondReference = (DayOfWeek)(((int)dfi.FirstDayOfWeek+3)%7);

为了避免DayofWeek大于7,您需要使用mod

票数 5
EN

Stack Overflow用户

发布于 2017-02-24 18:55:32

使用

代码语言:javascript
复制
DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;

var firstReference = dfi.FirstDayOfWeek;
var secondReference = (DayOfWeek)(((int)firstReference + 3) % 7);

DayOfWeek是枚举,所以fine在它上面工作得很好。

在+3超过DayOfWeek限制的情况下使用Mod (在您的情况下是周六)。

票数 2
EN

Stack Overflow用户

发布于 2017-02-24 19:13:28

您可以在星期中的某一天迭代天..

代码语言:javascript
复制
        DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
        List<DayOfWeek> daylist = new List<DayOfWeek>();
        int i = (int)dfi.FirstDayOfWeek;
        int addDay = 3;
        while (i <= ((int)dfi.FirstDayOfWeek + addDay) % 7)
        {
            daylist.Add((DayOfWeek)i);
            i++;
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42436804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档