首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hijri和格里高利DateTime构造器

Hijri和格里高利DateTime构造器
EN

Stack Overflow用户
提问于 2011-12-22 17:21:44
回答 2查看 10.2K关注 0票数 3

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

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

代码语言:javascript
复制
day = 1
month = 5 
year = 1433 (which is the current Hijri year)

使用以下代码创建datetime对象时,结果是一个有效的Greg Date

代码语言:javascript
复制
HijriCalendar hijri = new HijriCalendar();
//Get the First Day in the Month
DateTime firstDayInMonth = new DateTime(1433, month, 1, hijri);

同时使用下面的代码生成一个有效的Hijri日期:

代码语言:javascript
复制
GregorianCalendar greg = new GregorianCalendar();
//Get the First Day in the Month
DateTime firstDayInMonth = new DateTime(1433, month, 1, greg);

这是一个正确的结果吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-22 17:54:05

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

代码语言:javascript
复制
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并查看其中的方法可以让您更好地了解应该在calendar对象上做什么,以及应该在DateTime对象上发生什么。

票数 3
EN

Stack Overflow用户

发布于 2011-12-22 17:42:07

你实际上并没有问一个有意义的问题。如果您正在尝试将一个给定的日期从一个日历转换为另一个日历,那么在Hijri日历与公历具有不同的月份之后,会有更多的日期发生变化。

看看这个site的例子--它甚至有可下载的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8601725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档