İlk DayOfWeek'i pazartesi = 0 Pazar günü olarak ayarlamak için bir yol var mı?
(int)dateList[0].DayOfWeek == 0) // 0 = Sunday
İlk DayOfWeek'i pazartesi = 0 Pazar günü olarak ayarlamak için bir yol var mı?
(int)dateList[0].DayOfWeek == 0) // 0 = Sunday
Özel bir kültür oluşturmanız ve ilk DayOfWeek'i pazartesi olarak belirtmeniz gerekir. Özel kültürünüzün bir örneğinin, normalde kültür bilgisine erişmek için hangi bağlamın kullanıldığına ayarlanması gerekir (ör. Thread.CurrentCulture
). Aşağıdaki makale, özel bir kültür oluşturmaya başlamanızı sağlamalıdır:
Nasıl Yapılır: Özel Kültürler Yaratın
DÜZENLE:
Sadece sorunuzu okudum ve bir şey fark ettim. DayOfWeek özelliğini değiştiremezsiniz ... bu sadece bir numaralandırma değeridir. DayOfWeek'i CultureInfo.DateTimeFormat özelliğinin FirstDayOfWeek özelliğiyle karşılaştırmanız gerekir:
dateList[0].DayOfWeek == Thread.CurrentCulture.DateTimeFormat.FirstDayOfWeek
Varsayılan olarak, FirstDayOfWeek
olduğu Sunday
. Özel bir kültür oluşturduysanız, seçtiğiniz haftaın herhangi bir günü olabilir (ör. Monday
).
DayOfWeek
bir enum
ve böylece onu değiştiremezsin. Geçmişte, telafi etmek için depoladığım değeri ayarladım ve benzer bir şey yapmak zorunda kalabilirsiniz. 0 = Unset'e ihtiyacım vardı.
Sadece bu sorunu arayan kişiler için bunu tamamlamak için basit çözümüm (VB.NET):
Private Function GetTrueDayOfWeek(DayOfWeekUS As Int16)
Dim RetVal As Int16 = 0
If DayOfWeekUS = 0 Then
RetVal = 7
Else
RetVal = DayOfWeekUS
End If
Return RetVal
End Function
Kullanımı:
Dim TrueDayInWeek as int16
TrueDayInWeek = GetTrueDayOfWeek(dateList(0).DayOfWeek)