아니요, DateTime
은 달력 정보를 보유하지 않습니다 ... 은 항상 그레고리력에입니다. 다른 달력 시스템을 사용하여 DateTime
을 구성하면이를 그레고리력으로 변환하고 Calendar
메소드를 사용하여 원래 값으로 되돌려 야합니다. 따라서 기본적으로 달력 시스템을 별도로 저장해야합니다. 클라이언트 구성의 일부일 수도 있습니다. 예를 들어
: 한편
Calendar hebrewCalendar = new HebrewCalendar();
DateTime today = new DateTime(5775, 5, 18, hebrewCalendar);
Console.WriteLine(today.Year); // 2015
Console.WriteLine(hebrewCalendar.GetYear(today)); // 5775
, 당신이 내 Noda Time 프로젝트를 사용한다면, 해당 유형 이이 달력 시스템 정보를 유지 거기에서 -의 차이에 대한 명확한 것으로 일반적으로뿐만 아니라, (이 약간 간단로 2.0을 사용!) 등 순간, 현지 날짜, 현지 시간은 물론 나는 마음 당신은 위의
노다 시간에 해당
바이어스 :)있어
using System;
using NodaTime;
class Test
{
static void Main()
{
var hebrewCalendar = CalendarSystem.HebrewCivil;
var today = new LocalDate(5775, 5, 18, hebrewCalendar);
Console.WriteLine(today.Year); // 5775
Console.WriteLine(today.WithCalendar(CalendarSystem.Gregorian).Year); // 2015
}
}
자세한 설명을 주셔서 감사합니다. 나는 이것을 알지 못했다. (+1) – Christos
좋습니다! 그럼 NodaTime에 대해 더 읽어야합니다 :) – Beatles1692