首页 > 代码库 > 遍历日历的每一天
遍历日历的每一天
一个需求,需要从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将秒数转换成日期字符串
遍历日历的每一天
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。