如何获取ISO8601定义的Work Week
Posted 秋天爸爸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取ISO8601定义的Work Week相关的知识,希望对你有一定的参考价值。
工作中遇到一个需求,需要在打印标签的时候打印生产当天的工作周。工作周按照ISO-8601定义的标准计算。找到两种方案。
- Excel函数
- C#代码
- Excel函数
非常简单,调用一个Excel自带函数就可以,ISOWEEKNUM
- C#函数
代码如下:
using System; using System.Globalization; namespace MACAddressMgmtApp.ServiceImplementations { public static class WorkWeekHelper { public static int GetIso8601WeekOfYear(DateTime dt) { DayOfWeek day = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(dt); if (day >= DayOfWeek.Monday && day <= DayOfWeek.Wednesday) { dt = dt.AddDays(3); } return CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(dt, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday); } } }
以上是关于如何获取ISO8601定义的Work Week的主要内容,如果未能解决你的问题,请参考以下文章