Yeni Japon dönemlerini kapsaması için Silverlight DateTime hesaplama güncellemesi

Bu güncelleştirme hakkında

1 Mayıs 2019'da Japon takviminde yeni dönem başlıyor. Bu, Ocak 1989'dan bu yana bir dönemden diğerine ilk geçiştir. Microsoft Silverlight için olan bu güncelleştirme, Japon takvimindeki yeni dönemleri işlemek ve biçimlendirmek için DateTime hesaplamalarını düzeltir.

Japon dönemlerini destekleyen özellikler

Range-Relaxation

Heisei (平成) dönemi 30 Nisan 2019'da sona erdiğinde (Heisei (平成) 31) ve 1 Mayıs 2019'da yeni dönem başladığında, “平成 31 年 5 月 1 日” geçersiz olur. Gelecek ve geçmiş tarihlerin (hem Gregor hem Japon tarihleri) ilgili Japon tarihlerine istisnasız olarak dönüştürülebilmelerini sağlamak amacıyla ayrıştırıcılarımızı gevşettik.

Örneğin, bir önceki Japon Showa dönemi için maksimum dönem yılı 64'tür. Mevcut dönem için tarihteki yıl sayısı 64'ten büyük ise, mevcut Silverlight kodu tarihi ayrıştıramaz. Eğer yapmayı denerse, bir istisna verir.  Bu güncelleştirme, bu sorunu giderir ve yıl sayısı maksimum dönem yılı sayısından fazla olsa bile, tarihi ayrıştırır.

Aşağıdaki örnekte değişiklik gösterilmektedir:

DateTime.Parse(“昭和 70/1/1 0:00:00", new CultureInfo("ja-JP") { DateTimeFormat = { Calendar = new JapaneseCalendar() } })

Bu örnek bir istisna vermeyecektir. Aksine, tarihi başarılı bir şekilde ayrıştıracak ve 1/1/1995 12:00:00 AM (70 – 64 = 6) sonucunu verecektir. (Heisei dönemi 1989'da başlamıştır; yani 1989+6 = 1995.)

Ayrıca, yeni Japon döneminin adı açıklandıktan sonra, Heisei'deki gelecek tarihleri yeni Japon dönemine dönüştürebileceksiniz.
 

Japon döneminin ilk yılı için Gannen (元年)

Tarihsel uygulamada, dönemin ilk yılı “Ichi (1)” yerine özel bir “Gan (元)” (Kanji karakteri “köken” veya “başlangıç” anlamına gelir) ile gösterilir. İlk yıl “Gannen (元年)”, Gregor takviminin en son tarihi olan 31 Aralık'a kadar devam eder.

Bu güncelleştirme, Silverlight'ın Gannen (元年) karakterlerini başarılı bir şekilde ayrıştırmasını sağlar. 

Not Silverlight, dönemin ilk tarihini biçimlendirmesi istendiğinde değil 01 cevabı vermeye devam edecektir. Bu sorun geliştiricilerin "01" yılını "元" yılı ile değiştirmeleri sağlanarak giderilebilir.  Basit bir dize değişimiyle bu sağlanabilecektir.

Aşağıdaki örnekler, Silverlight'ın Gannen’ı (元年) biçimlendirdiğini ve ayrıştırdığını göstermektedir.

Biçimlendirme

string pattern = "gg yyyy'\u5E74' MM'\u6708' dd'\u65E5'"; //"gg yyyy'年' MM'月' dd'日'"

DateTime dt = new DateTime(1989, 01, 08); // Start of Heisei Era

string formattedDate = dt.ToString(pattern, jpnFormat);

Güncelleştirmeden önce davranış: formattedDate, "平成 01年 01月 08日" şeklindedir.
Güncelleştirmeden sonra davranış: formattedDate, "平成 01年 01月 08日" şeklindedir.

Güncelleştirme öncesindeki davranışta herhangi bir değişiklik olmamıştır.

Ayrıştırma

Ichinen (1 年)

DateTime.TryParseExact("平成 01年 01月 08日", pattern, jpnFormat, DateTimeStyles.None, out parsedDate)

Güncelleştirmeden önce davranış: Doğru cevabı verir ve {1/8/1989 12:00:00 AM} şeklinde bir parsedDate gösterir.
Güncelleştirmeden sonra davranış: Doğru cevabı verir ve {1/8/1989 12:00:00 AM} şeklinde bir parsedDate gösterir.

Güncelleştirme öncesindeki davranışta herhangi bir değişiklik olmamıştır.

Gannen (元年)

DateTime.TryParseExact("平成元年 01月 08日", pattern, jpnFormat, DateTimeStyles.None, out parsedDate)

Güncelleştirmeden önce davranış: Yanlış cevabı verir ve {1/1/0001 12:00:00 AM} şeklinde bir parsedDate gösterir.
Güncelleştirmeden sonra davranış: Doğru cevabı verir ve {1/8/1989 12:00:00 AM} şeklinde bir parsedDate gösterir.

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×