- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 Um al Qura 日历获取 C# DateTime 对象的日、月和年组件时遇到问题。
代码片段是:
DateTime date = new DateTime(2013, 6, 24);
UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
int year = umAlQuraCalendar.GetYear(date);
int month = umAlQuraCalendar.GetMonth(date);
int day = umAlQuraCalendar.GetDayOfMonth(date);
运行后,年是 1434,月是 8,都是正确的。但是,天是 14,这是错误的(根据此处:http://www.al-habib.info/islamic-calendar/islamic-calendar-ummulqura-2013.htm)
如果我将代码更改为:
DateTime date = new DateTime(2013, 6, 24, 0, 0, 0, 1); // i.e. One millisecond after midnight
UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
int year = umAlQuraCalendar.GetYear(date);
int month = umAlQuraCalendar.GetMonth(date);
int day = umAlQuraCalendar.GetDayOfMonth(date);
那么天是 15,这是正确的。
更奇怪的是,这段代码位于大型应用程序的深处:C# 代码是从 VB6 exe 调用的。
如果我将上面的第一个片段提取到一个独立的 C# 项目 (.NET 2.0),那么天是 15,这是正确的。
我已经检查了我能想到的两个项目之间可能不同的所有内容:.NET 版本、平台目标 (x86),但看不到任何明显的东西。
非常感谢任何想法。
最佳答案
我已经测试了你的代码:
DateTime date = new DateTime(2013, 6, 24);
UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
int year = umAlQuraCalendar.GetYear(date);
int month = umAlQuraCalendar.GetMonth(date);
int day = umAlQuraCalendar.GetDayOfMonth(date);
Log.Info(string.Format("{0} / {1} / {2}", year, month, day));
在 .NET 4.5 中,我得到 1434/8/15
作为答案。所以它似乎是 .NET 2.0 中的一个错误。
还要检查 umAlQuraCalendar.AlgorithmType
是否为 LunarCalendar
(应该是这样)。因为如果是 LunisolarCalendar
,可能会有一些像这样的细微差别。
关于c# - 将公历日期转换为 Um al Qura 时损失一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17292738/
我在使用 Um al Qura 日历获取 C# DateTime 对象的日、月和年组件时遇到问题。 代码片段是: DateTime date = new DateTime(2013, 6, 24);
我想将 Umm Al-Qura 日历中的以下阿拉伯日期解析为 .NET DateTime 对象: 阿拉伯语 17 日 1436 日 这个日期相当于公历 2015 年 9 月 30 日。 我一直在尝试使
我是一名优秀的程序员,十分优秀!