如何在 c# 中使用 nodatime 表示波斯语?

use*_*926 1 persian nodatime

nodatime 1.3 released,但我想使用nodatimec#波斯日期时间。如何使用 Noda Time 显示波斯日期时间?

var london = DateTimeZoneProviders.Tzdb["Europe/London"];"
Run Code Online (Sandbox Code Playgroud)

我必须为波斯做什么?

Jon*_*eet 5

您需要明确使用波斯历。

例如:

var calendar = CalendarSystem.GetPersianCalendar();
var zone = DateTimeZoneProviders.Tzdb["Europe/London"];

var now = SystemClock.Instance.Now.InZone(zone, calendar);
// Now you can get the month, etc.
Run Code Online (Sandbox Code Playgroud)

或者要创建一个LocalDateor LocalDateTime,只需将日历作为构造函数调用中的最后一个参数传递:

var localDate date = new LocalDate(1393, 4, 17, calendar);
Run Code Online (Sandbox Code Playgroud)

请注意,这是使用波斯历系统中的伦敦时区。日历系统和时区是非常不同的东西。例如,如果您想要德黑兰时区,您可以使用:

var zone = DateTimeZoneProviders.Tzdb["Asia/Tehran"];
Run Code Online (Sandbox Code Playgroud)