gpt4 book ai didi

c# - Hijri 和 Gregorian DateTime 构造函数

转载 作者:行者123 更新时间:2023-11-30 22:32:45 25 4
gpt4 key购买 nike

传递给 DateTime 类型构造函数的 Calendar 对象的正确行为是什么?

我有组件年、月和日,如下例所示:

day = 1
month = 5
year = 1433 (which is the current Hijri year)

当使用下面的代码创建一个日期时间对象时,结果是一个有效的 Greg Date

HijriCalendar hijri = new HijriCalendar();
//Get the First Day in the Month
DateTime firstDayInMonth = new DateTime(1433, month, 1, hijri);

使用以下代码生成有效的回历日期:

GregorianCalendar greg = new GregorianCalendar();
//Get the First Day in the Month
DateTime firstDayInMonth = new DateTime(1433, month, 1, greg);

这是正确的结果吗?

最佳答案

您的第一个示例是正确的。 DateTime 不会采用 Hijri 格式,它只是您提供的标准化等价物。关于如何获取 Hirji 日期,请参见以下代码:

HijriCalendar hijri = new HijriCalendar();
DateTime firstDayInMonth = new DateTime(1433, 10, 11, hijri);
Console.WriteLine(hijri.GetEra(firstDayInMonth)); // 1
Console.WriteLine(hijri.GetYear(firstDayInMonth)); // 1433
Console.WriteLine(hijri.GetMonth(firstDayInMonth)); // 10
Console.WriteLine(hijri.GetDayOfMonth(firstDayInMonth)); // 11

您的第二个代码块只是设置公历日期“1/1/1433”,所以当您检查它时,您没有得到 hirji 日期,您只是得到了您在 15 世纪给它的日期。

查看http://msdn.microsoft.com/en-us/library/system.globalization.hijricalendar.aspx看到那里的方法应该可以让您更好地了解应该在日历对象上做什么以及应该在 DateTime 对象上发生什么。

关于c# - Hijri 和 Gregorian DateTime 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8601725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com