以文本方式查看主题 - 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)
|