- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从日期时间获取Python中的yearWeek。我已经使用了 IsoCalender()[1],但它返回的星期与我使用 DateTimeFormatInfo.InvariantInfo.Calendar.GetWeekOfYear(Date, CalendarWeekRule.FirstDay, DayOfWeek.Monday) 在 C# 中得到的星期不同。
I have tried:
1) IsoCalender()[1].
2) d = datetime.datetime.strptime('2017-09-22 00:00:00.00','%Y-%m-%d %H:%M:%S.%f')
print(datetime.datetime.strftime(d,'%W'))
So For '2017-09-22 00:00:00.00' In C# I get 39 but I get 38 in python using above mentioned techniques.
我们将非常感谢任何帮助。
最佳答案
根据 ISO 8601(参见 this draft von 2016, section 5.7.7 )
A week is defined as a seven-day time interval, starting with a Monday. Week number one of the calendar year is the first week that contains at least four (4) days in that calendar year.
Python 的文档 date.isocalendar同样指出:
[…] week starts on a Monday and ends on a Sunday. The first week of an ISO year is the first (Gregorian) calendar week of a year containing a Thursday.
根据documentation of CalendarWeekRule这等于CalendarWeekRule.FirstFourDayWeek
:
Indicates that the first week of the year is the first week with four or more days before the designated first day of the week.
而 CalendarWeekRule.FirstDay
的含义是:
Indicates that the first week of the year starts on the first day of the year and ends before the following designated first day of the week.
综上所述,C#中正确的做法是:
DateTimeFormatInfo.InvariantInfo.Calendar.GetWeekOfYear(new DateTime(2017, 9, 22), CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday)
正确结果是 38。
关于c# - 如何在 python 中获取yearWeek,就像我们在 C# 中使用 DateTimeFormatInfo.InvariantInfo.Calendar.GetWeekOfYear() 一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55323253/
根据 MSDN,静态属性 DateTimeFormatInfo.InvariantInfo “获取与文化无关(不变)的默认只读 DateTimeFormatInfo 对象”。 然而,长日期模式是“dd
我的 C# 应用程序中有以下代码。 DateTimeFormatInfo.CurrentInfo.DayNames ReSharper 7.1.1 强调了 DateTimeFormatInfo.Cur
我是 Powershell 的新手,实际上是所有 Windows 开发环境的新手。 有了这个功能: [System.Globalization.DateTimeFormatInfo]::Current
这是我的简化代码: DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo; var firstReference = dfi.FirstDay
我正在寻找类似于 MonthDayPattern 的东西在 Java 中。 我已经尝试过 DateFormatSimbols、SimpleDateFormat、DateFormat 等 .Net 为每
我得到了以下文化列表,我想用它们各自的语言获取它们的日期名称 CultureInfo[] newCultures = {new CultureInfo("de-DE"),
我有以下代码: var thursday = new CultureInfo("es-ES").DateTimeFormat.AbbreviatedDayNames[4]; 如预期的那样返回“ju.”
如何更改 DateTimeFormatInfo.CurrentInfo AbbreviatedDayNames 集合。我想使用我的,例如 Tues 而不是 Tue。当我使用 ToString("ddd
我正在尝试解析日期时间,并从客户端输入中接受一种确切的格式。 哪个更好 bool success = DateTime.TryParseExact(value, "dd-MMM-yyyy", D
是否有 DateTimeFormatInfo 格式模式可以将星期几转换为两个字符?例如星期二变成你,星期三变成我们。格式字符串需要符合日期格式的 DateTimeFormatInfo。 添加: 也许我
我使用此代码将我的文化更改为 .Net3.5 中的波斯文化: if (CultureInfo.CurrentCulture.ToString() == "fa-IR") {
为什么这段代码会抛出异常? var dateTime = "2012-03-21_15.12"; var format = new DateTimeFormatInfo() { FullDate
我正在我当前的项目中做一些全局化工作,我遇到了一个奇怪的行为。我在 Windows 7 上运行,只安装了美国英语,我的应用程序在 .NET 3.5 上运行。 给定以下代码段: var culture
我正在重构一些单元测试,发现一些解析策略依赖于 DateTime.TryParseExact 和 sbyte.TryPase,它们本身依赖于 NumberFormatInfo.CurrentInfo
我有一个 jQuery UI 日期选择器,我打算将其与 ASP.NET MVC 中的文本框一起使用。文本框中的日期显示是通过 CultureInfo 本地化的,当然应该由 jquery 识别以在日期选
在澳大利亚,一位客户一直在输入 “1/5” 作为 5 月第一天的快捷方式。我们刚刚从 Windows Server 2008 迁移到 Windows Server 2012。 在 LinqPad 中使
我使用 System.Globalization 如下: CultureInfo calture = new CultureInfo(MyCultureInfoGoesHere); DateTimeF
在 Windows 应用商店应用程序的 .NET API 中 DateTimeFormatInfo 不包含以下属性日期分隔符和时间分隔符。原因可能是两者都允许在完整 API 中进行设置。但如果我需要获
我想从日期时间获取Python中的yearWeek。我已经使用了 IsoCalender()[1],但它返回的星期与我使用 DateTimeFormatInfo.InvariantInfo.Calen
我是一名优秀的程序员,十分优秀!