c# - 获取不同开始日期的周数

标签 c# datetime week-number

如果我像那样使用正常方式,我可以获得周数。如您所知,此计算器根据正常开始日期(即 2015 年 1 月 1 日)计算周数。

CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(mydate, CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule, CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek)

但我想更改开始日期。例如,我一年中的第一周是 2015 年 7 月 1 日,根据该日期,我想计算给定日期的一年中的第几周。

最佳答案

date 对象中减去新年和开始日期之间的差异

var startDate = new DateTime(2015, 7, 1);
var newYear = new DateTime(2015, 1, 1);

var culture = CultureInfo.CurrentCulture;
var weekOfYear = culture.Calendar.GetWeekOfYear(
    mydate.Add(newYear - startDate),
    culture.DateTimeFormat.CalendarWeekRule,
    culture.DateTimeFormat.FirstDayOfWeek);

关于c# - 获取不同开始日期的周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31126437/

相关文章:

android - 在按钮单击 android 中获取下周值的问题

c# - 在同一个循环中进行两次线性插值,但其中一次需要更长的时间,为什么? (统一3D)

c# - RandomNumberGenerator GetInt32 未定义

datetime - Pandas 上个月开始

python - SqlAlchemy mysql 毫秒或微秒精度

r - 年-周在 r 中加一周

c# - 将 Web API 与 HTML 页面一起使用

c# - Skype 机器人不工作

C++ 添加 1 年至今

Python pendulum 模块返回错误的周数