如何获取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);

        }

    }

}
时间: 2024-10-25 17:01:25

如何获取ISO8601定义的Work Week的相关文章

Srping Boot FreeMarker获取ContextPath-自定义ViewResolver以及超简单内置方法

最近想用spring boot+freemarker做个新项目,在学习的过程中有一个地方真是把我坑惨了.那就是contextPath的获取.这个之前在jsp里实在是太简单了,然后我以为在ftl中也一样(最终结果告诉我确实也一样),但是中间的过程实在有点,,浪费时间. 不过还好自己尝试加上搜索解决了这个问题.有两个方法: 一,自定义ViewResolver 百度freemarker + contextPath,大多数人都会告诉你在配置文件中配置 <property name="request

spring直接获取bean定义

转:http://blog.csdn.net/sdandan/article/details/7911241 ———————————————————————————————————————— BeanFactory为一个管理bean的工厂(即为spring的容器),它管理的对象可以是bean也可以是FactoryBean(这种请况会再调用FactoryBean的getObject()获取真正的bean). FactoryBean为一个工厂bean,受BeanFactory管理. 先来看一看Bea

vue element-ui IE9--11报 “无法获取未定义或null引用的属性‘toLowerCase’”

今天做zymh比赛的一个管理后台,用的技术是vue+element-ui+vue-router+axios,其他浏览器运行的很好,但是在IE(从IE11到IE9,vue支持IE9以上)都报错 点进去就是定位到了markUp这个函数,经查询是element-ui报错,element-UI在使用MessageBox,Message等组件时,只需要用import导入,而不需要继续Vue.component(Message.name,Message) . 将各个组件中的Vue.component(Mes

获取ISO8601格式的时间

let d = new Date(); d.setHours(d.getHours(), d.getMinutes() - d.getTimezoneOffset()); let time = d.toISOString(); 原文地址:https://www.cnblogs.com/Chauncy-SHI/p/11811107.html

获取在接口或者类上定义的泛型类型

通过Class类上的 getGenericSuperclass() 或者 getGenericInterfaces() 获取父类或者接口的类型,然后通过ParameterizedType.getActualTypeArguments() 可以得到定义在类或者接口上的泛型类型,具体参考如下代码: package com.jiaoyiping.event; /* * Created with Intellij IDEA * USER: 焦一平 * Mail: [email protected] *

java通过反射获取调用变量以及方法

一:反射概念 可以通过Class类获取某个类的成员变量以及方法,并且调用之. 二:通过反射获取方法.变量.构造方法 1 @Test 2 // 通过反射获取类定义的方法 3 public void testMethod() throws Exception { 4 @SuppressWarnings("rawtypes") 5 Class clazz = Class.forName("java.lang.String"); 6 Method[] m = clazz.g

自己定义控件(二)自己定义Dialog

本节要实现:自己定义一个Dialog 结果例如以下: 步 骤 1.配置register_dialog.xml: 以下是一个自己定义的dialog. 功能是:点击dialog所依附的activity上的"注冊"button,弹出此对话框. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.c

【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框&&获取组件实例常用的两种方式

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2346.html 本篇Himi来利用ListView和TextInput这两种组件实现对话.聊天框. 首先需要准备的有几点:(组件的学习就不赘述了,简单且官方有文档) 1. 学习下 ListView: 官方示例:http://reactnative.cn/docs/0.27/tutorial.html#content

框架 day57 BOS项目练习(流程定义/实例管理,bos用户角色同步activiti用户表组表)

BOS项目笔记第11天 内容: 1.提供新的json文件,修改系统菜单(加入工作流的菜单) 2.流程定义管理(查询.部署流程.查看png流程图片) 3.流程实例管理(查询.查看运行状态) 4.将bos系统中的用户数据和角色数据同步到activiti的用户表和组表 1.    提供新的json文件,修改系统菜单(加入工作流的菜单) 2.    流程定义管理 第一步:创建一个ProcessDefinitionAction,提供list方法,并注入流程引擎对象  查询 @Controller @Sco