تحويل يوم التعداد إلى سلسلة تعيد تقديم اليوم
-
24-09-2019 - |
سؤال
كنت أتساءل عما إذا كانت هناك طريقة لتحويل عدد صحيح مباشرة DayOfWeek
يعود إلى سلسلة تمثل اليوم مثل الاثنين ، الثلاثاء وما إلى ذلك.
عينة من الرموز:
MessageBox.Show(Date.Today.DayOfWeek)
هذا سيعود 6
(اعتبارا من اليوم). هل هناك طريقة لتحويل هذا مباشرة إلى Saturday
, ، علي سبيل المثال؟ لا يهمني حقًا ما يحوله حقًا ، لكني أريد التخلص من حالتي المختارة:
Select Case Date.Today.DayOfWeek
Case 0
day = "Sunday"
Case 1
day = "Monday"
Case 2
day = "Tuesday"
Case 3
day = "Wednesday"
Case 4
day = "Thursday"
Case 5
day = "Friday"
Case 6
day = "Saturday"
Case Else
day = "Apocalypse: we're all boned."
End Select
شكرًا :)
المحلول
طريقة أبسط:
Dim day As String = Date.Today.DayOfWeek.ToString()
نصائح أخرى
datetimeformatinfo.currentinfo.getDayName.
هناك تنسيق لوقت البيانات لذلك: DDDD
Dim date1 As Date = #08/29/2008 7:27:15PM#
date1.ToString("dddd", CultureInfo.CreateSpecificCulture("en-US"))
مع CultureInfo ، يمكنك الحصول عليها بلغة محددة (اختيارية)
لمزيد من المعلومات:http://msdn.microsoft.com/en-us/library/8kb3dddd4.aspx#ddddddecifier
DateTime.DayOfWeek
لا يعيد عدد صحيح - إنه يعيد التعداد من النوع DayOfWeek
. أتوقع أن يتم تحويلها إلى الاسم تلقائيًا ، ولكن ربما يكون هذا دقة VB ؛ ربما شيء يجب فعله باستخدام Date
بدلاً من DateTime
؟ جرب هذا:
MessageBox.Show(DateTime.Today.DayOfWeek.ToString())
لن يكون هذا حساسًا للثقافة - سيعرض دائمًا اسم قيمة التعداد ، باللغة الإنجليزية. إذا لم يكن ذلك جيدًا بالنسبة لك ، فاستخدم حل Zyphrax أو Itowlson.
Date.Today.DayOfWeek.ToString
سوف يعطيك ما تبحث عنه. جميل وسهل.
فقط في حالة نظر الآخرين إلى هذا المثال. أعتقد أنه ينبغي أن يكون الحالة 0 ليوم الأحد.
Case 0
day = "Sunday"