diff options
Diffstat (limited to 'src/mscorlib/corefx/System/Globalization/JapaneseCalendar.Unix.cs')
-rw-r--r-- | src/mscorlib/corefx/System/Globalization/JapaneseCalendar.Unix.cs | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/mscorlib/corefx/System/Globalization/JapaneseCalendar.Unix.cs b/src/mscorlib/corefx/System/Globalization/JapaneseCalendar.Unix.cs deleted file mode 100644 index b9bd94af6e..0000000000 --- a/src/mscorlib/corefx/System/Globalization/JapaneseCalendar.Unix.cs +++ /dev/null @@ -1,88 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Collections.Generic; - -namespace System.Globalization -{ - public partial class JapaneseCalendar : Calendar - { - private static EraInfo[] GetJapaneseEras() - { - string[] eraNames; - if (!CalendarData.EnumCalendarInfo("ja-JP", CalendarId.JAPAN, CalendarDataType.EraNames, out eraNames)) - { - return null; - } - - string[] abbrevEnglishEraNames; - if (!CalendarData.EnumCalendarInfo("en", CalendarId.JAPAN, CalendarDataType.AbbrevEraNames, out abbrevEnglishEraNames)) - { - return null; - } - - List<EraInfo> eras = new List<EraInfo>(); - int lastMaxYear = GregorianCalendar.MaxYear; - - int latestEra = Interop.GlobalizationInterop.GetLatestJapaneseEra(); - for (int i = latestEra; i >= 0; i--) - { - DateTime dt; - if (!GetJapaneseEraStartDate(i, out dt)) - { - return null; - } - - if (dt < JapaneseCalendar.calendarMinValue) - { - // only populate the Eras that are valid JapaneseCalendar date times - break; - } - - eras.Add(new EraInfo(i, dt.Year, dt.Month, dt.Day, dt.Year - 1, 1, lastMaxYear - dt.Year + 1, - eraNames[i], GetAbbreviatedEraName(eraNames, i), abbrevEnglishEraNames[i])); - - lastMaxYear = dt.Year; - } - - // remap the Era numbers, now that we know how many there will be - for (int i = 0; i < eras.Count; i++) - { - eras[i].era = eras.Count - i; - } - - return eras.ToArray(); - } - - // PAL Layer ends here - - private static string GetAbbreviatedEraName(string[] eraNames, int eraIndex) - { - // This matches the behavior on Win32 - only returning the first character of the era name. - // See Calendar.EraAsString(Int32) - https://msdn.microsoft.com/en-us/library/windows/apps/br206751.aspx - return eraNames[eraIndex].Substring(0, 1); - } - - private static bool GetJapaneseEraStartDate(int era, out DateTime dateTime) - { - dateTime = default(DateTime); - - int startYear; - int startMonth; - int startDay; - bool result = Interop.GlobalizationInterop.GetJapaneseEraStartDate( - era, - out startYear, - out startMonth, - out startDay); - - if (result) - { - dateTime = new DateTime(startYear, startMonth, startDay); - } - - return result; - } - } -} |