码迷,mamicode.com
首页 > 其他好文 > 详细

遍历日历的每一天

时间:2014-09-18 11:37:03      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:newlisp

一个需求,需要从20140101那天开始,然后一直找到8月份。

用newlisp计算日期的话,需要考虑日历月的天数不一样。比较容易的方法是采用epoch秒数,然后每次加一天的描述,再转换成日期字符串,下面的代码如下:

#!/usr/bin/newlisp

(println "ok")

(set ‘start-date "20140101 00:00")
(set ‘start-seconds (date-parse start-date "%Y%m%d %H:%M"))
(set ‘day-seconds (* 3600 24))

(set ‘x 0)
(while (< x 240)
  (begin
   (set‘ compute-date (date (+ (* day-seconds x) start-seconds) 0 "%Y%m%d"))
   (println compute-date)
   (inc x)
  ))

(exit)

运行结果:

20140101
。。。
20140813
20140814
20140815
20140816
20140817
20140818
20140819
20140820
20140821
20140822
20140823
20140824
20140825
20140826
20140827
20140828

经过检查,每个月的天数都是正确的。

这里主要用到了newlisp的几个函数:

date-parse 将指定日期字符串转换成秒数

date将秒数转换成日期字符串



遍历日历的每一天

标签:newlisp

原文地址:http://blog.csdn.net/csfreebird/article/details/39368235

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!