void lr_save_datetime(const char *format, int offset, const char *name);
中文解释: lr_save_datetime将当前日期和时间,或具有指定偏移的日期和时间保存在参数中。 如果达到MAX_DATETIME_LEN个字符,结果字符串将被截断。 参数说明: 1、const char *format 格式化信息 同fopen、lr_message等相同;例如:"the first is %s" 2、int offset 时间的偏移量 DATE_NOW(现在的日期) TIME_NOW(现在的时间) ONE_DAY(一天的时间) ONE_HOUR(一小时的时间) ONE_MIN(一分钟的时间) 需要注意的是,时间的偏移量可以使用公式,例如:DATE_NOW+ONE_DAY 这样,我们就可以取得昨天、明天的日期了 DATE_NOW-ONE_DAY(昨天) DATE_NOW+ONE_DAY(明天) 那么,我们就可以使用如下表示得到前天的日期 lr_save_datetime("%Y-%B-%d",DATE_NOW-2*(ONE_DAY),"abc"); lr_save_datetime("%Y-%B-%d",DATE_NOW-2*24*(ONE_HOUR),"abc"); lr_save_datetime("%Y-%B-%d",DATE_NOW-2*24*60*(ONE_MIN),"abc"); 当然,我们也可以使用如下表示2个小时后的时间 lr_save_datetime("%H:%M:%S",TIME_NOW+2*(ONE_HOUR),"ab"); lr_save_datetime("%H:%M:%S",TIME_NOW+2*60*(ONE_MIN),"ab"); 3、const char *name 参数保存的参数名;使用时lr_eval_string("{参数名}") Action() { lr_save_datetime("%y-%b-%d",DATE_NOW-2*24*(ONE_HOUR),"abc"); //保存前天的日期到参数abc中 lr_message("the day before yesterday is:%s",lr_eval_string("{abc}")); //输出abc的值 lr_save_datetime("%H:%M:%S",TIME_NOW+2*(ONE_HOUR),"ab"); //保存2个小时后的时间到参数ab中 lr_message("the time after two hour is:%s",lr_eval_string("{ab}")); //输入ab的值 return 0; }
附:《lr_save_datetime格式参数表》
%a 星期几的简写 %A 星期几的全称 %b 月分的简写 %B 月份的全称 %c 标准的日期的时间串 %C 年份的后两位数字 %d 十进制表示的每月的第几天 %D 月/天/年 %e 在两字符域中,十进制表示的每月的第几天 %F 年-月-日 %g 年份的后两位数字,使用基于周的年 %G 年分,使用基于周的年 %h 简写的月份名 %H 24小时制的小时 %I 12小时制的小时 %j 十进制表示的每年的第几天 %m 十进制表示的月份 %M 十时制表示的分钟数 %n 新行符 %p 本地的AM或PM的等价显示 %r 12小时的时间 %R 显示小时和分钟:hh:mm %S 十进制的秒数 %t 水平制表符 %T 显示时分秒:hh:mm:ss %u 每周的第几天,星期一为第一天 (值从0到6,星期一为0) %U 第年的第几周,把星期日做为第一天(值从0到53) %V 每年的第几周,使用基于周的年 %w 十进制表示的星期几(值从0到6,星期天为0) %W 每年的第几周,把星期一做为第一天(值从0到53) %x 标准的日期串 %X 标准的时间串 %y 不带世纪的十进制年份(值从0到99) %Y 带世纪部分的十制年份 %z,%Z 时区名称,如果不能得到时区名称则返回空字符。 %% 百分号