DateSelect[list,crit]
挑出列表中所有满足 crit[datei] 为 True 的日期 datei.
DateSelect[int,crit]
返回 DateInterval int 中所有 crit[datei] 为 True 的日期.
DateSelect[crit]
表示 DateSelect 的操作符格式,可应用于表达式.
DateSelect
DateSelect[list,crit]
挑出列表中所有满足 crit[datei] 为 True 的日期 datei.
DateSelect[int,crit]
返回 DateInterval int 中所有 crit[datei] 为 True 的日期.
DateSelect[crit]
表示 DateSelect 的操作符格式,可应用于表达式.
更多信息
- DateSelect 通常用于筛选满足某一标准的日期,如某个特定的月份或星期中的某一天.
- 在 DateSelect[list,crit]中,crit 为布尔表达式,通常由日期元素检验组成,如 #Month==8 或 #DayName==Monday.
- DateSelect 支持所有 DateValue 中可用的日期元素,包括 "Year"、"Month"、"DayName" 和 "Week",表达为有名称的 Slot,如 #Year、#Month 等.
- 对于 DateInterval 输入,DateSelect 利用由时间区间指定的时间粒度返回一个日期列表.
范例
打开所有单元 关闭所有单元基本范例 (4)
DateSelect[{DateObject[{2022, 5, 1}, "Day"], DateObject[{2023, 5, 30}, "Day"], DateObject[{2024, 6, 23}, "Day"]}, #Month == 5&]DateSelect[DateRange[DateObject[{2022, 1, 1}, "Day"], DateObject[{2022, 12, 31}, "Day"]], #Week == 8&]DateSelect[DateInterval[{{{2020, 4, 1}, {2020, 4, 30}}}, "Day", "Gregorian", -5.], #DayName == Wednesday&]DateSelect[DateRange[DateObject[{2022, 1, 1}, "Day"], DateObject[{2022, 3, 31}, "Day"]], ((#Month == 2 && #Day == 4) || #DayName == Thursday)&]fun = DateSelect[(OddQ[#Month] && #Day == 4)&];fun[DateRange[DateObject[{2022, 1, 1}, "Day"], DateObject[{2022, 3, 31}, "Day"]]]范围 (2)
选择标准通常是使用 Slot 表达式的日期元素,但可以使用任何布尔标准:
DateSelect[DateRange[DateObject[{2022, 1, 1}, "Day"], DateObject[{2022, 3, 31}, "Day"]], StringContainsQ[DateString[#], "Tue 1"]&]DateSelect 提取元素值,而不转换历法或时区:
dates = CalendarConvert[{DateObject[{2020, 9, 21}, "Day", "Gregorian", -5.], DateObject[{2020, 9, 22}, "Day", "Gregorian", -5.], DateObject[{2020, 9, 23}, "Day", "Gregorian", -5.]}, "Jewish"]DateSelect[dates, #Day > 20&]DateSelect[dates, #Day < 6&]DateSelect[{DateObject[{2020, 9, 23, 0, 54, 53.816753}, "Instant", "Gregorian", 5.], DateObject[{2020, 9, 22, 19, 54, 53.816941}, "Instant", "Gregorian", 0.], DateObject[{2020, 9, 22, 14, 54, 53.817006}, "Instant", "Gregorian", -5.]}, #Hour == 14&]想要使用标准化时区选择日期,先使用 TimeZoneConvert:
DateSelect[TimeZoneConvert[{DateObject[{2020, 9, 23, 0, 54, 53.816753}, "Instant", "Gregorian", 5.], DateObject[{2020, 9, 22, 19, 54, 53.816941}, "Instant", "Gregorian", 0.], DateObject[{2020, 9, 22, 14, 54, 53.817006}, "Instant", "Gregorian", -5.]}, -5], #Hour == 14&]应用 (1)
DateSelect 可用于制作时间计划,可选择满足某个模式的时间,如任何给定月份的周一:
criteria = #DayName == Monday && #DayNameInstanceInMonth == 1&;DateSelect[DateInterval[{DateObject[{2020, 1, 1}], DateObject[{2020, 12, 31}]}], criteria]属性和关系 (1)
DateSelect[dates,crit] 等价于 Select[dates,DateValue[#,elem]==value&]:
dates = {DateObject[{2020, 9, 20}, "Day", "Gregorian", -5.], DateObject[{2020, 9, 21}, "Day", "Gregorian", -5.], DateObject[{2020, 9, 22}, "Day", "Gregorian", -5.]};DateSelect[dates, #DayName == Monday&]Select[dates, DateValue[#, "DayName"] == Monday&]可能存在的问题 (1)
DateSelect[{DateObject[{1442, 2, 4}, "Day", "Islamic", -5.]}, #Quarter < 5&]DateValue[DateObject[{1442, 2, 4}, "Day", "Islamic", -5.], "Quarter"]日期可能会在被筛选前使用 CalendarConvert 转换到另一个历法:
DateSelect[CalendarConvert[{DateObject[{1442, 2, 4}, "Day", "Islamic", -5.]}, "Gregorian"], #Quarter < 5&]巧妙范例 (3)
在格里高利历法中,每个月的第13天为周五的频率高于一星期的其他日子:
SortBy[Tally[DateValue[DateSelect[DateInterval[{{2001, 1, 1}, {2400}}, "Day"], #Day == 13&], "DayName"]], Last]为美国总统选举的时间创建一个标准(每四年十一月的第一个周一之后的第一个周二):
election = Divisible[#Year, 4] && #Month == 11 && #DayName == Tuesday && Or[#DayNameInstanceInMonth == 1 && #Day =!= 1, #DayNameInstanceInMonth == 2 && #Day == 8]&;DateSelect[DateInterval[{{2020}, {2040}}, "Day"], election]格里高利历法中一个世纪不会以周日开始,不管其是否从第一年开始还是从第零年开始:
DateSelect[DateInterval[{{2000}, {2400}}, "Day"], Divisible[#Year, 100] && #Month == 1 && #Day == 1 && #DayName == Sunday&]DateSelect[DateInterval[{{2001}, {2401}}, "Day"], Divisible[#Year - 1, 100] && #Month == 1 && #Day == 1 && #DayName == Sunday&]相关指南
-
▪
- 日期和时间
文本
Wolfram Research (2020),DateSelect,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DateSelect.html.
CMS
Wolfram 语言. 2020. "DateSelect." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/DateSelect.html.
APA
Wolfram 语言. (2020). DateSelect. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DateSelect.html 年
BibTeX
@misc{reference.wolfram_2026_dateselect, author="Wolfram Research", title="{DateSelect}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/DateSelect.html}", note=[Accessed: 07-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_dateselect, organization={Wolfram Research}, title={DateSelect}, year={2020}, url={https://reference.wolfram.com/language/ref/DateSelect.html}, note=[Accessed: 07-October-2026]}