Guest User

Untitled

a guest
Feb 25th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. (int)DateTime.Now.DayOfWeek
  2.  
  3. // Summary:
  4. // Specifies the day of the week.
  5. [Serializable]
  6. [ComVisible(true)]
  7. public enum DayOfWeek
  8. {
  9. // Summary:
  10. // Indicates Sunday.
  11. Sunday = 0,
  12. //
  13. // Summary:
  14. // Indicates Monday.
  15. Monday = 1,
  16. //
  17. // Summary:
  18. // Indicates Tuesday.
  19. Tuesday = 2,
  20. //
  21. // Summary:
  22. // Indicates Wednesday.
  23. Wednesday = 3,
  24. //
  25. // Summary:
  26. // Indicates Thursday.
  27. Thursday = 4,
  28. //
  29. // Summary:
  30. // Indicates Friday.
  31. Friday = 5,
  32. //
  33. // Summary:
  34. // Indicates Saturday.
  35. Saturday = 6,
  36. }
  37.  
  38. CultureInfo _culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
  39. CultureInfo _uiculture = (CultureInfo)CultureInfo.CurrentUICulture.Clone();
  40.  
  41. _culture.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Saturday;
  42. _uiculture.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Saturday;
  43.  
  44. System.Threading.Thread.CurrentThread.CurrentCulture = _culture;
  45. System.Threading.Thread.CurrentThread.CurrentUICulture = _uiculture;
  46.  
  47. Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-EG")
  48.  
  49. DateTime.Now.DayOfWeek; // returns Sunday
  50. (int)DateTime.Now.DayOfWeek; // returns 0
  51. DateTime.Now.DayOfWeek(DayOfWeek.Monday); // returns 6
  52.  
  53. public static class ExtensionMethods
  54. {
  55. /// <summary>
  56. /// Returns an zero-based index where firstDayOfWeek = 0 and lastDayOfWeek = 6
  57. /// </summary>
  58. /// <param name="value"></param>
  59. /// <param name="firstDayOfWeek"></param>
  60. /// <returns>int between 0 and 6</returns>
  61. public static int DayOfWeek(this DateTime value, DayOfWeek firstDayOfWeek)
  62. {
  63. var idx = 7 + (int)value.DayOfWeek - (int)firstDayOfWeek;
  64. if (idx > 6) // week ends at 6, because Enum.DayOfWeek is zero-based
  65. {
  66. idx -= 7;
  67. }
  68. return idx;
  69. }
  70. }
Add Comment
Please, Sign In to add comment