将日历相互转换使用NodaTime库
我使用Noda Time来处理DateTime
问题,我阅读了几乎所有的文档,但是我有一些问题要将日历转换为彼此,
-
首先,Noda支持多少个日历?
正如
CalendarSystem
所说,只有4个日历:a)CopticCalendar / b)GregorianCalendar / c)IslamicCalendar / d)JulianCalendar
那么其他日历系统呢?
-
我使用波斯日历又称Jalali日历 ,所以有没有办法在NodaTime中使用这个日历? 以及如何将其转换为格里高利历?
-
我的最终目标是将时间(特殊区域)和日期转换为UTC时区和格鲁吉亚日历。 例如, 现在 (
yyyy/MM/dd - HH:mm:ss
)在Asia/Tehran
时区和波斯日历是:(1391/06/30 – 10:01:15)和现在在格鲁吉亚日历和UTC是(2012年) / 09/20 – 05:01:15),你的建议是什么? 时间单独根本不重要,但日期,我对它没有任何想法(在NodaTime中),有没有办法在一个过程或方法中转换这两个?
-
是的,目前这些是我们支持的唯一日历系统。
-
不,我们目前对波斯日历没有任何支持。 你可以提交一个function请求,但我们更有可能有兴趣将1.0打开,我担心。
-
目前还不清楚“特殊区域”是什么意思 – 但听起来又像是这样,你需要波斯日历才能真正发挥作用。 如果.NET支持波斯语日历,你可以先将它解析为
DateTime
,然后将其转换为Noda Time类型…我很抱歉我们目前不支持波斯语日历,而且我会喜欢能够通过包装类型来支持BCL日历(就像我们为TimeZoneInfo
所做的那样),但是恐怕不会很快。
为了搜索类似关键字的其他人,添加了对波斯语日历的支持(我目前正在使用v1.3)。
某些日历有更多设置,因此简化了此示例:
上述就是C#学习教程:将日历相互转换使用NodaTime库分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
var now = DateTime.Now; var nodaNow = new NodaTime.LocalDate(now.Year, now.Month, now.Day); var cal = nodaNow.WithCalendar(CalendarSystem.GetPersianCalendar()); Console.WriteLine(cal.ToString());
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1026568.html