1
A
回答
5
您可以使用.NET框架的Calendar class。
public static bool IsCurrentWeek(this DateTime dt)
{
var f = DateTimeFormatInfo.CurrentInfo;
var c = f.Calendar;
var givenWeek = c.GetWeekOfYear(dt, f.CalendarWeekRule, f.FirstDayOfWeek);
var givenYear = c.GetYear(dt);
var thisWeek = c.GetWeekOfYear(DateTime.Now, f.CalendarWeekRule, f.FirstDayOfWeek);
var thisYear = c.GetYear(DateTime.Now);
return thisWeek == givenWeek && thisYear == givenYear;
}
public static bool IsCurrentMonth(this DateTime dt)
{
return DateTime.Now.Month == dt.Month && dt.IsCurrentYear();
}
public static bool IsCurrentYear(this DateTime dt)
{
return DateTime.Now.Year == dt.Year;
}
DateTime dateTime = DateTime.Now;
bool isCurrentYear = dateTime.IsCurrentYear()
3
月份和年份很簡單:
if (yourDate.Month = DateTime.Now.Month)
...
if (yourDate.Year = DateTime.Now.Year)
...
周是困難的,因爲一週規則因地區而異。以下是一個示例:
var dfi = DateTimeFormatInfo.CurrentInfo;
var cal = dfi.Calendar;
if (cal.GetWeekOfYear(yourDate, dfi.CalendarWeekRule, dfi.FirstDayOfWeek) ==
cal.GetWeekOfYear(DateTime.Now, dfi.CalendarWeekRule, dfi.FirstDayOfWeek))
...
2
在DateTime
類型的Month
屬性是1到12之間的整數值,因此,如果你正在尋找,看看當年的當月存在的日期你將不得不針對這兩種性質的測試:
if (yourDate.Month == DateTime.Now.Month && yourDate.Year == DateTime.Now.Year)
...
+1
+1好點,如果你比較一個月,你可能還應該比較一年。 – Andomar
0
這只是爲了對上述接受的答案註釋擴大:
(日期是在構造函數中設置屬性)
public bool IsThisWeek()
{
DateTimeFormatInfo dateTimeFormatInfo = DateTimeFormatInfo.CurrentInfo;
Calendar calendar = dateTimeFormatInfo.Calendar;
// Get current week and year
int thisWeek = calendar.GetWeekOfYear(DateTime.Now, dateTimeFormatInfo.CalendarWeekRule, dateTimeFormatInfo.FirstDayOfWeek);
int thisYear = calendar.GetYear(DateTime.Now);
// Get the week and year from the date
int weekToCheck = calendar.GetWeekOfYear(this.Date, dateTimeFormatInfo.CalendarWeekRule, dateTimeFormatInfo.FirstDayOfWeek);
int yearToCheck = calendar.GetYear(this.Date);
return ((thisWeek == weekToCheck) && (thisYear == yearToCheck));
}
相關問題
- 1. 現有腳本循環日期,周,月,年的日期範圍?
- 2. 轉換周今年將日期
- 3. 本週至今的日期選擇
- 4. 今天之後的本月的日期
- 5. 如何根據今天/本週/本月對日期數組進行排序 - android
- 6. SSRS SUM IIf從今天,周,月,年
- 7. 年和本週至今在PHP
- 8. wp_get_archives的範圍過濾器:本月,上月/今年,去年
- 9. 根據今天,本週,本月,今年本季度總結銷售的最快方式?
- 10. 今天得到NSDate,昨天,本週,上週,本月,上個月...變量
- 11. 本月的週日數
- 12. dateFromString日月年純文本
- 13. 需要更改日期甲至今(年月日)格式
- 14. 如何獲得從今天到今年月底的生日日期?
- 15. 獲取今天,本週,本月和今年的數據在MySQL中的單個查詢?
- 16. 檢查日期是否在本月的第三週VB.NET
- 17. PHP:發現日期是否在本月的最後一週
- 18. 日期選擇日月年
- 19. 在SQL Server啓動和結束本週的日期爲本月
- 20. 按日期過濾php本月和過去x天和本週
- 21. 如何與另一日期(月/年)比較日期(月/年)
- 22. 表本周至今
- 23. 本週星期一日期
- 24. 今天,上週,上個月,本週的多個選擇
- 25. 日期,月日,年的日期格式
- 26. 本月的開始日期和結束日期以及本年的開始日期和結束日期
- 27. 選擇今年的日期和月份組
- 28. Symfony的 - 每月搜索表,今年的日期時間字段
- 29. VBA-獲取月份和年份從今天日期
- 30. 日期時間本地值顯示AM,但沒有年/月/日
優秀的答案,但我會稍微修改一下,以檢查IsCurrentWeek()函數中的年份。否則,你可以在1975年說一個日期,並說這是在2012年的某個日期的本週。在下面的回答中概述了 – noonand
你是對的,我已經更新了答案! :) – diemogebhardt