如何获取ISO8601定义的Work Week

Posted 秋天爸爸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取ISO8601定义的Work Week相关的知识,希望对你有一定的参考价值。

工作中遇到一个需求,需要在打印标签的时候打印生产当天的工作周。工作周按照ISO-8601定义的标准计算。找到两种方案。

  1. Excel函数
  2. 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的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 ISO-8601 GMT/UTC 年周数

如何在 Postman 预查询脚本和正文中获取当前的 ISO8601 时间戳?

如何从busybox中的“日期”获取ISO8601秒格式?

Java如何获取ISO 8601时间

TSQL 日期时间 ISO 8601

如何在 MySQL 数据库中存储 UTC ISO8601 日期?