检索两个日期内的所有月/日?

时间:2014-08-05 12:47:58

标签: vb.net visual-studio-2010 charts ms-access-2010 oledb

我有两个DateTimePickers和一个图表,在图表的图例底部将确定两个DateTimePickers之间的月份,并在创建它们时检索所有数据。

示例:

DateTimePicker1 =二月

DateTimePicker2 = 6月

  1. 检索2月至6月的所有数据。
  2. 图表应显示二月,三月,四月,五月,六月 底层传奇。
  3. 我该怎么做?或者至少只是在两个DateTimePickers中获得所有月份?

1 个答案:

答案 0 :(得分:3)

您可以使用有关CultureInfo中存储的月份名称的信息 在这里,我使用InvariantCulture,但这也适用于您当前的文化

Dim m1 = "February"
Dim m2 = "June"
Dim idx1 = CultureInfo.InvariantCulture.DateTimeFormat.MonthNames.ToList().IndexOf(m1)
Dim idx2 = CultureInfo.InvariantCulture.DateTimeFormat.MonthNames.ToList().IndexOf(m2)

' An array of strings with the months names required by the interval.    
Dim monthsList = CultureInfo.InvariantCulture.DateTimeFormat.MonthNames _ 
                            .SkipWhile(Function(mn, i) i < idx1) _ 
                            .TakeWhile(Function(mm, i) i < (idx2-idx1)) _ 
                            .ToArray()

' A comma separated string with the months names
Dim monthsLabel = String.Join(",", monthsList)

要从DateTimePicker值获取月份名称,请使用

Dim m1 = CultureInfo.InvariantCulture.DateTimeFormat.MonthNames(dp1.Value.Month - 1)