javascript - 使用 C# 从 DatePicker 获取周 ID
问题描述
以下代码获取weekid
CultureInfo ciCurr = CultureInfo.CurrentCulture;
int Weekid = ciCurr.Calendar.GetWeekOfYear(dt, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
当我尝试日期 31/12/2018 时,它显示了第 53 周 ,但在我的 DatePicker 中显示第 1 周
参考 DatePicker 的图片
问题:
哪一个是正确的?
如何使其在 C# 代码或 jquery 代码中的更改相同?
解决方案
试试这个代码..
来源:https ://stackoverflow.com/a/11154921/1997983
var d = new DateTime(2018, 12, 31);
CultureInfo cul = CultureInfo.CurrentCulture;
var firstDayWeek = cul.Calendar.GetWeekOfYear(
d,
CalendarWeekRule.FirstDay,
DayOfWeek.Monday);
int weekNum = cul.Calendar.GetWeekOfYear(
d,
CalendarWeekRule.FirstDay,
DayOfWeek.Monday);
int year = weekNum == 52 && d.Month == 1 ? d.Year - 1 : d.Year;
Console.WriteLine("Year: {0} Week: {1}", year, weekNum);
根据 ISO-8601,它在第 53 周返回 1
如果您查看 2018 年 12 月 31 日这一周,它将从星期六的 12 月 30 日开始。从今年到 2018 年,它将仅包含两个日期.. 30 和 31。其余所有 5 个日期都来自明年,即 2019 年。因此它返回 1 作为周数,根据 ISO-8601 标准是正确的。
推荐阅读
- android - 颤振 - 谷歌地图不显示
- java - 安装 java 11 后启动 JFR on_vm_start 时失败
- php - 检查日期是否是某个月份
- python - 从不在列表中的文件中删除人员
- html - 电子:强制内容的特定分辨率和缩放以适应窗口
- flutter - 我如何从最后一个项目读取列表到第一个项目
- wordpress - 如何以编程方式更改联系表 7 中的默认消息?
- python - 使用 1 个绘图功能绘制多个 csv 文件
- hyperledger-fabric - Hyperledger Fabric 中有哪些不同的角色?
- xml - 复杂表达式中的大写 [XSLT 1.0]