时间日期
文章平均质量分 60
炼气散人
等儿子高考后,或许会回来
展开
-
遍历日历的每一天
一个需求,需要从20140101那天开始,然后一直找到8月份。用newlisp计算日期的话,需要考虑日历月的天数不一样。比较容易的方法是采用epoch秒数,然后每次加一天的描述,再转换成日期字符串,下面的代码如下:#!/usr/bin/newlisp(println "ok")(set 'start-date "20140101 00:00")(set 'start-seconds (d原创 2014-09-18 10:02:20 · 4429 阅读 · 0 评论 -
newLISP 将数据存入mysql datetime字段
mysql datetime字段插入非常简单,采用类似下面的字符串形式0000-00-00 00:00:00因此我们需要用newlisp获取epoch秒数,然后转换成字符形式后创建sql语句,下面是个例子:stop-time是一个epoch秒数(date stop-time 0 "%Y-%m-%d %H:%M:%S") 这样得到的sql语句类似于:insert into nodes_history原创 2015-01-01 10:16:23 · 1896 阅读 · 0 评论 -
date将秒数转换成日期的字符串表达形式
这里要用到date函数的第三种形式,下面是获得当前日期(set 'today (date (date-value) 0 "%Y%m%d"))(date-value) 返回的是1970年0点累计的秒数,作为date函数的地一个参数第二个参数是偏移的分钟,0表示没有偏移,就是现在。 这个参数主要用来做时区转换第三个参数定义日期格式,参考下表:formatdescription%aabbreviate原创 2014-06-02 09:43:39 · 6580 阅读 · 0 评论 -
获取当天时间信息
(now)函数可以很方便的返回当前时间信息,比如年,月等,返回结果存放在list中,使用十分方便。举例如下:> (now)(2015 1 24 14 7 42 393413 24 6 480 0)注意,这里获得是GMT+0时区,如果想要获得中国时区,需要在第一个参数中指定以分钟为单位的整数。中国是GMT+8,所以应该如下调用:> (now (* 8 60))(2015 1 24 22 9 9原创 2015-01-24 22:10:06 · 2144 阅读 · 0 评论 -
epoch与24时区的关系
epoch是什么epoch是1. 固定在格林尼兹时间,也就是UTC(GMT)时区2. 从1970年开始0点开始的秒数一个epoch对应24个不同时区的时间其他时区和epoch可以互相转换,下表的结论经过http://www.epochconverter.com/timezones?q=0&tz=UTC手工验证。一个epoch值对应了24个时区的不同的时间,注意GMT+12和GMT-12是同一个地方原创 2016-07-03 13:32:59 · 5552 阅读 · 0 评论 -
日期时间字符串与epoch的转换
date-parse函数可以将字符串转换成秒数,这个功能相当方便。> (date-parse "20140720 06:29" "%Y%m%d %H:%M")1405837740注意, 06:29也可以是6:29, 加不加0都可以。用在线站点做了对比, 结果正确.http://www.epochconverter.com/原创 2014-07-20 14:57:19 · 9970 阅读 · 0 评论 -
获取指定时区的天数,小时数
给定一个当前时间对应的epoch,如何获取北京时间(GMT+8)的天数天数指的是从1970年1月1日0点开始数的天数看上去很简单,如果有epoch值t表示当前时间,直接用公式(t-0)/86400秒说明:1. 0表示1970年1月1日0点对应的秒数2. 86400秒表示一天的秒数,等于24(小时) * 3600(秒)但是错了。注意时区不一样。epoch是UTC时区,而我们这里是GMT+8时区。我们原创 2016-07-08 17:50:48 · 3827 阅读 · 0 评论