将波斯转换为格里高利 [英] Convert Date from Persian to Gregorian
问题描述
如何使用System.globalization.PersianCalendar将波斯日期转换为公历?
请注意,我想转换我的波斯文日期(例如今天是1391/04/07),并获得公共日期结果,这将是06/27/2012在这种情况下。
我正在计数秒的答案...
How can I convert Persian date to Gregorian date using System.globalization.PersianCalendar? Please note that I want to convert my Persian Date (e.g. today is 1391/04/07) and get the Gregorian Date result which will be 06/27/2012 in this case. I'm counting seconds for an answer ...
推荐答案
实际上很简单:
// I'm assuming that 1391 is the year, 4 is the month and 7 is the day
DateTime dt = new DateTime(1391, 4, 7, persianCalendar);
// Now use DateTime, which is always in the Gregorian calendar
当你打电话给 DateTime
构造函数并传入日历
,它会为您转换 - 所以 dt.Year在这种情况下,2012年将会是
。如果你想以另一种方式,你需要构建适当的 DateTime
然后使用 Calendar.GetYear(DateTime)
等等。
When you call the DateTime
constructor and pass in a Calendar
, it converts it for you - so dt.Year
would be 2012 in this case. If you want to go the other way, you need to construct the appropriate DateTime
then use Calendar.GetYear(DateTime)
etc.
短而完整的程序:
using System;
using System.Globalization;
class Test
{
static void Main()
{
PersianCalendar pc = new PersianCalendar();
DateTime dt = new DateTime(1391, 4, 7, pc);
Console.WriteLine(dt.ToString(CultureInfo.InvariantCulture));
}
}
打印06/27/2012 00:00: 00。
That prints 06/27/2012 00:00:00.
这篇关于将波斯转换为格里高利的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!