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