以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:如何将日期段自动拆分成每天的日期呢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91572)

--  作者:李孝春
--  发布时间:2016/10/13 16:06:00
--  求助:如何将日期段自动拆分成每天的日期呢
比如  我想将2014-12-01至2015-12-01这个时间段的时期进行拆分成每天
2014-12-01
2014-12-02
2014-12-03
2014-12-04
2014-12-05
……
2015-12-01
[此贴子已经被作者于2016/10/13 16:07:07编辑过]

--  作者:有点蓝
--  发布时间:2016/10/13 16:39:00
--  

Dim d As Date = new Date(2014,1,1)
Dim days As Integer = d.AddYears(1).AddSeconds(-1).DayOfYear
For i As Integer = 1 To days
    Output.Show(d.AddDays(i))
Next
[此贴子已经被作者于2016/10/13 16:39:48编辑过]

--  作者:李孝春
--  发布时间:2016/10/13 16:57:00
--  回复:(有点蓝)Dim d As Date = new Date(2014,1,1)...
有点蓝 老师  谢谢先
但是楼上代码运行只能实现一个固定的年份,
对于不固定的未来时间如2015-10-13怎么进行呢?

结合你的思路:
仿写了如下代码 运行后可以任意制定时间段来进行拆分了。

Dim d1 As Date = new Date(2014,1,1)
Dim d2 As Date = new Date(2015,10,13)
Dim t As TimeSpan = d2 - d1
Output.Show(t.Days & "天")
Dim days As Integer = d1.AddYears(1).AddSeconds(-1).DayOfYear
For i As Integer = 1 To t.Days
    Output.Show(d1.AddDays(i))
    
    Dim dr As DataRow = DataTables("表A").AddNew()
    Dim idx As Integer = Tables("表A").FindRow(dr)
    If idx > 0 Then
        Dim r As Row = Tables("表A").Rows(idx-1)
        dr("日期") = d1.AddDays(i)
    End If
Next

但是遇见一个问题 那就是为什么生成的日期中不含初始时间2014-1-1呢?
还麻烦有点蓝老师多多指导下!谢谢!

--  作者:有点蓝
--  发布时间:2016/10/13 17:24:00
--  


For i As Integer = 0 To t.Days

--  作者:李孝春
--  发布时间:2016/10/13 21:41:00
--  回复:(有点蓝)For i As Integer = 0 To t.Days
改用这个之后  直接是新空行  然后是  2014-01-02   2014-01-03…………
--  作者:有点蓝
--  发布时间:2016/10/13 21:51:00
--  
Dim d1 As Date = new Date(2014,1,1)
Dim d2 As Date = new Date(2015,10,13)
Dim t As TimeSpan = d2 - d1
Dim dr As DataRow 
DataTables("表A").StopRedraw
For i As Integer = 0 To t.Days
    dr = DataTables("表A").AddNew()
    dr("日期") = d1.AddDays(i)
Next
DataTables("表A").ResumeRedraw
[此贴子已经被作者于2016/10/13 21:51:47编辑过]

--  作者:HappyFt
--  发布时间:2016/10/13 21:52:00
--  
应该把第一个日期改为2013,12,31应该就可以
Dim d1 As Date = new Date(2013,12,31)