Time 时间

CBrother提供了两个内置函数和一个Time类来处理时间和日期

内置函数

函数描述用法
time() 获取当前时间戳(单位:秒) var t = time()
GetMillSecond() 获取毫秒时间(win,mac是开机时间,liunx为程序运行时间,会溢出) var t = GetMillSecond()

Time 类

  1. var myTime = new Time(); //不传参数表示获取当前时间初始化Time类
  2. var myTime2 = new Time(1514739661); //传入时间戳(秒),则用时间戳初始化Time类
函数描述参数返回值用法
year() 获取自1900年后经过的年份。 年份数字 var nowYear = myTime.year()
mon() 获取月份 月份[0-11] var nowMon = myTime.mon()
mday() 获取本月第几天 天数[1-31] var nowDay = myTime.mday()
hour() 获取当前第几个小时 小时[0-23] var nowHour = myTime.hour()
min() 获取分钟数字 [0-59] var nowMin = myTime.min()
sec() 获取秒数 [0-59] var nowSec = myTime.sec()
wday() 获取星期几 [0-6],0是周天 var nowWeek = myTime.wday()
yday() 获取一年中的第几天 [0-365] var yearDay = myTime.yday()
setYear(y) 修改年份,1900年后经过的年 要修改的值 myTime.setYear(1)
setMon(m) 修改月份 [0-11] myTime.setMon(1)
setMDay(d) 修改月份中的天数 [1-31] myTime.setMDay(1)
setHour(h) 修改小时数 [0-23] myTime.setHour(1)
setMin(m) 修改分钟数 [0-59] myTime.setMin(1)
setSec(s) 修改秒数 [0-59] myTime.setSec(1)
setWDay(w) 修改星期几 [0-6],0是周天 myTime.setWDay(1)
setYDay(yd) 修改一年中的第多少天 [0-365] myTime.setYDay(1)
time() 转化成秒级时间戳 时间戳 var thisTime = myTime.time()
strftime(format) 按照format格式化当前Time类 format:格式 字符串 var timeStr = myTime.strftime("Now is %Y/%m/%d %H:%M:%S")
strptime(timestr,format) 用timestr按照format格式初始化Time类 timeStr:时间字串,format:格式 myTime.strptime("Now is 2018/1/1 1:1:1","Now is %Y/%m/%d %H:%M:%S")

例子:

  1. function main(parm)
  2. {
  3. var myTime = new Time(1514739661); // 2018/1/1 1:1:1
  4. print "year:" + myTime.year();
  5. print "mon:" + myTime.mon();
  6. print "mday:" + myTime.mday();
  7. print "hour:" + myTime.hour();
  8. print "min:" + myTime.min();
  9. print "sec:" + myTime.sec();
  10. print "wday:" + myTime.wday();
  11. print "yday:" + myTime.yday();
  12. var thisTime = myTime.time();
  13. print "time is:" + thisTime;
  14. myTime.setYear(myTime.year() + 1);
  15. myTime.setMon(myTime.mon() + 1);
  16. myTime.setMDay(myTime.mday() + 1);
  17. myTime.setHour(2);
  18. myTime.setMin(2);
  19. myTime.setSec(2);
  20. var setTime = myTime.time();
  21. print "after set time is:" + setTime;
  22. print "timestr is:" + myTime.strftime("%Y/%m/%d %H:%M:%S");
  23. }

结果:

  1. year:118
  2. mon:0
  3. mday:1
  4. hour:1
  5. min:1
  6. sec:1
  7. wday:1
  8. yday:0
  9. time is:1514739661
  10. after set time is:1549044122
  11. timestr is:2019/02/02 02:02:02

时间字符串的格式

符号描述
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身