如何处理 Mathematica 中的日期范围?

How to handle with date range in mathematica?

在 google 趋势中,可以将数据导出为 CSV。获得的CSV具有以下结构:

Week,subject 1, subject 2
2004-01-04 - 2004-01-10,13,6
2004-01-11 - 2004-01-17,9,9
2004-01-18 - 2004-01-24,11,4

我知道有 DateObject[],但它只包含一个日期。我想获得科目1和科目2在时域上的阶梯图,并计算它们在两个给定日期范围内的相关性

我的问题是:我应该用怎样的数据结构来表示时间范围?

随着google趋势调用时间变量"week"取

StringTake["2004-01-04 - 2004-01-10", 10]

获取范围的第一天,然后使用

DateList[{"2004-01-04", {"Year", "Month", "Day"}}]

创建日期列表并

DateString[{2004, 1, 4, 0, 0, 0}, {"Week"}]

以一年中的日历周表示时间。所以,函数

RangeToWeek[timerangestring_] := DateString[ DateList[{ StringTake[timerangestring, 10], {"Year", "Month", "Day"}}], {"Week"}]

给出列表 01 中的第一个日期,因为从 04.01.2004 到 10.01.2004 的时间跨度对应于该年的第一个日历周。