C#插件、Python两种方式计算日期是当年第几周原创
金蝶云社区-湖南吴双得
湖南吴双得
28人赞赏了该文章 427次浏览 未经作者许可,禁止转载编辑于2023年11月01日 11:39:31

借助系统日历计算指定日期是当年第几周

C#插件

private void CalcCurWeek()
        {
            DateTime curDate = Convert.ToDateTime(this.View.Model.GetValue("FWeekBDate"));

            if (curDate != null)
            {
                System.Globalization.GregorianCalendar gc = new System.Globalization.GregorianCalendar();

                int weekOfYear = gc.GetWeekOfYear(curDate, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday);

                this.View.Model.SetValue("FCurWeek", weekOfYear);
            }
        }

Python代码(亲测有效)

import clr
clr.AddReference('System')
clr.AddReference('System.Globalization')
from System import *
from System.Globalization import *

def DataChanged(e):
    key = e.Field.Key.upper();
    if(key == "FWEEKBDATE"):
        curDate = this.View.Model.GetValue("FWeekBDate");
        if (curDate <> None):
            gc = GregorianCalendar();
            weekOfYear = gc.GetWeekOfYear(curDate, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
            this.View.Model.SetValue("FCurWeek",weekOfYear);

image.png

特别说明:

gc.GetWeekOfYear(curDate, CalendarWeekRule.FirstDay, DayOfWeek.Monday);

这个方法中的 第三个参数 DayOfWeek.Monday 是指定周从星期几开始


图标赞 28
28人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0