#c# #calendar #windows-runtime #windows-store-apps #globalization
#c# #Календарь #windows-среда выполнения #windows-store-приложения #глобализация
Вопрос:
Я ищу способ конвертировать между григорианским и юлианским календарями в WinRT.
Обычно я бы использовал дату и время.Из загружаемого и DateTime.ToOADate, но эти методы недоступны. Итак, я нашел Windows.Глобализация.Тип календаря, который, похоже, имеет какой-то метод ChangeCalendarSystem. Но кто знает, как работает этот тип? Метод, похоже, принимает что-то приятное, Windows.Глобализация.Идентификаторы календаря.Джулиан, но теперь я начинаю задаваться вопросом…
И, конечно, никаких реальных документов, никаких блогов, ничего — или, может быть, я ошибаюсь 😉
Кто-нибудь может помочь пролить некоторый свет на то, как работает тип в этом отношении, или, может быть, указать мне правильные типы?
Ответ №1:
Windows.Глобализация.Календарь — это правильная вещь для использования. Если вы хотите преобразовать из григорианского в юлианский, установите календарную систему в григорианскую с помощью ChangeCalendarSystem, затем установите для составляющих (начиная с самого большого первого: год, месяц, день, …) их григорианские значения. Наконец, измените систему календаря на юлианскую, а затем получите составляющие.
Если вы просто хотите отформатировать значение в другой календарной системе, вы можете использовать DateTimeFormatter, созданный с конкретной календарной системой.