【发布时间】:2015-02-17 22:27:27
【问题描述】:
我有一个 Excel 表,其中包含 2003 年的列日期(格式:2015/02/10)和列销售。我想提取(去年,本周,今天的名称)销售数字。就像今天是 2 月 12 日星期四一样,去年的“星期四”是 2 月 13 日。 我已经在下面尝试了我的代码,但我收到错误“无法将字符串“Thursday”转换为双倍”任何想法如何?谢谢
Dim MyCalendar As Calendar = New GregorianCalendar
Dim culture = New System.Globalization.CultureInfo("EN-US")
dim eventcal as new datatable
Dim dayname As String = culture.DateTimeFormat.GetDayName(Now.DayOfWeek)
Dim lastCurrentweek = MyCalendar.GetWeekOfYear(
Now,
CalendarWeekRule.FirstFourDayWeek,
DayOfWeek.Sunday)
Dim lastCurrentyear = MyCalendar.GetYear(Now) - 1
dim dayrecord = (From Row In eventcal.AsEnumerable
Where MyCalendar.GetWeekOfYear(Row.Field(Of DateTime)("date"),
CalendarWeekRule.FirstFourDayWeek,
DayOfWeek.Sunday) = Currentweek And MyCalendar.GetYear(Row.Field(Of DateTime)("date")) = lastCurrentyear And MyCalendar.GetDayOfWeek(Row.Field(Of DateTime)("date")) = dayname
Select Row.Field(Of Double)("sales"))
【问题讨论】:
-
如果我们是 2015 年 2 月 1 日怎么办?去年没有对应的星期六。
-
这类比较通常以 WeekOfYear 为基础,不考虑月份