time_compare.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package mhayaTime
  2. import "time"
  3. // IsNow 是否是当前时间
  4. func (c MhayaTime) IsNow() bool {
  5. return c.ToSecond() == Now().ToSecond()
  6. }
  7. // IsFuture 是否是未来时间
  8. func (c MhayaTime) IsFuture() bool {
  9. return c.ToSecond() > Now().ToSecond()
  10. }
  11. // IsPast 是否是过去时间
  12. func (c MhayaTime) IsPast() bool {
  13. return c.ToSecond() < Now().ToSecond()
  14. }
  15. // IsLeapYear 是否是闰年
  16. func (c MhayaTime) IsLeapYear() bool {
  17. year := c.Year()
  18. if year%400 == 0 || (year%4 == 0 && year%100 != 0) {
  19. return true
  20. }
  21. return false
  22. }
  23. // IsLongYear 是否是长年
  24. func (c MhayaTime) IsLongYear() bool {
  25. _, w := time.Date(c.Year(), time.December, 31, 0, 0, 0, 0, c.Location()).ISOWeek()
  26. return w == WeeksPerLongYear
  27. }
  28. // IsJanuary 是否是一月
  29. func (c MhayaTime) IsJanuary() bool {
  30. return c.Time.Month() == time.January
  31. }
  32. // IsFebruary 是否是二月
  33. func (c MhayaTime) IsFebruary() bool {
  34. return c.Time.Month() == time.February
  35. }
  36. // IsMarch 是否是三月
  37. func (c MhayaTime) IsMarch() bool {
  38. return c.Time.Month() == time.March
  39. }
  40. // IsApril 是否是四月
  41. func (c MhayaTime) IsApril() bool {
  42. return c.Time.Month() == time.April
  43. }
  44. // IsMay 是否是五月
  45. func (c MhayaTime) IsMay() bool {
  46. return c.Time.Month() == time.May
  47. }
  48. // IsJune 是否是六月
  49. func (c MhayaTime) IsJune() bool {
  50. return c.Time.Month() == time.June
  51. }
  52. // IsJuly 是否是七月
  53. func (c MhayaTime) IsJuly() bool {
  54. return c.Time.Month() == time.July
  55. }
  56. // IsAugust 是否是八月
  57. func (c MhayaTime) IsAugust() bool {
  58. return c.Time.Month() == time.August
  59. }
  60. // IsSeptember 是否是九月
  61. func (c MhayaTime) IsSeptember() bool {
  62. return c.Time.Month() == time.September
  63. }
  64. // IsOctober 是否是十月
  65. func (c MhayaTime) IsOctober() bool {
  66. return c.Time.Month() == time.October
  67. }
  68. // IsNovember 是否是十一月
  69. func (c MhayaTime) IsNovember() bool {
  70. return c.Time.Month() == time.November
  71. }
  72. // IsDecember 是否是十二月
  73. func (c MhayaTime) IsDecember() bool {
  74. return c.Time.Month() == time.December
  75. }
  76. // IsMonday 是否是周一
  77. func (c MhayaTime) IsMonday() bool {
  78. return c.Time.Weekday() == time.Monday
  79. }
  80. // IsTuesday 是否是周二
  81. func (c MhayaTime) IsTuesday() bool {
  82. return c.Time.Weekday() == time.Tuesday
  83. }
  84. // IsWednesday 是否是周三
  85. func (c MhayaTime) IsWednesday() bool {
  86. return c.Time.Weekday() == time.Wednesday
  87. }
  88. // IsThursday 是否是周四
  89. func (c MhayaTime) IsThursday() bool {
  90. return c.Time.Weekday() == time.Thursday
  91. }
  92. // IsFriday 是否是周五
  93. func (c MhayaTime) IsFriday() bool {
  94. return c.Time.Weekday() == time.Friday
  95. }
  96. // IsSaturday 是否是周六
  97. func (c MhayaTime) IsSaturday() bool {
  98. return c.Time.Weekday() == time.Saturday
  99. }
  100. // IsSunday 是否是周日
  101. func (c MhayaTime) IsSunday() bool {
  102. return c.Time.Weekday() == time.Sunday
  103. }
  104. // IsWeekday 是否是工作日
  105. func (c MhayaTime) IsWeekday() bool {
  106. return !c.IsSaturday() && !c.IsSunday()
  107. }
  108. // IsThisWeek 是否是本周
  109. func (c MhayaTime) IsThisWeek() bool {
  110. return c.WeekOfYear() == Now().WeekOfYear()
  111. }
  112. // IsWeekend 是否是周末
  113. func (c MhayaTime) IsWeekend() bool {
  114. return c.IsSaturday() || c.IsSunday()
  115. }
  116. // IsYesterday 是否是昨天
  117. func (c MhayaTime) IsYesterday() bool {
  118. yesterday := Now()
  119. yesterday.SubDay()
  120. return c.ToDateFormat() == yesterday.ToDateFormat()
  121. }
  122. // IsToday 是否是今天
  123. func (c MhayaTime) IsToday() bool {
  124. return c.ToDateFormat() == Now().ToDateFormat()
  125. }
  126. // IsTomorrow 是否是明天
  127. func (c MhayaTime) IsTomorrow() bool {
  128. tomorrow := Now()
  129. tomorrow.AddDay()
  130. return c.ToDateFormat() == tomorrow.ToDateFormat()
  131. }