lua获取未来某时间点的时间戳解决方案

最近在做游戏定时推送,犹如第二天9点通知玩家领取奖励之类的需求,要求获取第二天9点的时间戳,以前用JS写过类似的需求,JS中的Date类用起来比较方便,很多东西已经帮忙弄好了,最主要的还是会自动处理时间和日期的自己进阶吧。最近写lua也碰到类似的需求,但看过lua的文档后,发现lua没有JS那么方便;但也不是没有办法,这里记录下,供以后查看,直接看代码吧

代码如下:

local cur_timestamp = os.time()
local one_hour_timestamp = 24*60*60
local temp_time = cur_timestamp + one_hour_timestamp * future_days
local temp_date = os.date("*t", temp_time)
return os.time({year=temp_date.year, month=temp_date.month, day=temp_date.day, hour=future_hour})

注:简单讲就是lua中date(格式化的)和 time(数值型)两种时间类型之间转换下,time类型可以免于处理进阶的问题,对于这种求某个时间点得时间戳会是一个好方式;

(0)

相关推荐

  • Lua中实现StringBuffer功能

    在Lua中,字符串是一个常量,如果用字符串连接符".."把2个字符串连接起来,例如first_str = first_str .. second_str,那么原来的first_str和second_str就会作为垃圾等待回收,first_str引用的是一个新的字符串,如果在程序里面有大量的字符串连接操作的话,性能会十分低下.Lua是一个很简洁的语言,他没有StringBuffer的实现,但是其实我们可以动手写一个简单的StringBuffer实现,来避免性能的问题. 首先定义一个叫St

  • 使用lua实现php的var_dump()函数功能

    习惯了php中的var_dump()函数,而如今写lua的时候总习惯使用var_dump()函数,于是就自己动手写了一个类似功能的var_dump()函数. 复制代码 代码如下: function var_dump(data, max_level, prefix)       if type(prefix) ~= "string" then           prefix = ""      end       if type(data) ~= "tab

  • 获取Lua表结构(table)数据实例

    只是获取一个全局变量什么的太没意思了,今天我们来玩个高难度的--获取Lua表结构的数据. (旁白:O O!我是不是该说点什么?) 上一章传送门:http://www.jb51.net/article/55093.htm 1. 什么是table table是Lua里最强大的数据类型,我们可以当成是数组,但是它又和数组有点不一样,建议大家看看Lua的语法教程,因为我对table也没有熟悉到可以给大家解释的程度. (旁白:那你还写什么教程...) 2. 获取table变量 现在,我们给helloLua

  • Lua极简入门指南:全局变量

    全局环境 Lua 把全局变量放在一个 table _G 中,这个 table 被叫做全局环境(global environment).打印所有的全局变量名: 复制代码 代码如下: for n in pairs(_G) do print(n) end _ENV(Lua 5.2 开始支持) 对于一个 free name(名字没有绑定任何声明)var 实际上会被转换为 _ENV.var(每个 chunk 中都会存在一个名为 _ENV 的变量): 复制代码 代码如下: v1 = 1 local v2 =

  • Lua极简入门指南(六):模块

    从用户的角度来看,一个模块能够通过 require 加载并返回一个 table,模块导出的接口都被定义在此 table 中(此 table 被作为一个 namespace).所有的标准库都是模块.标准库被预先加载了,就像这样: 复制代码 代码如下: math = require 'math' string = require 'string' require 函数 使用 require 函数加载模块能够避免多次重复加载模块.加载一个模块: 复制代码 代码如下: require 'modulena

  • lua获取未来某时间点的时间戳解决方案

    最近在做游戏定时推送,犹如第二天9点通知玩家领取奖励之类的需求,要求获取第二天9点的时间戳,以前用JS写过类似的需求,JS中的Date类用起来比较方便,很多东西已经帮忙弄好了,最主要的还是会自动处理时间和日期的自己进阶吧.最近写lua也碰到类似的需求,但看过lua的文档后,发现lua没有JS那么方便:但也不是没有办法,这里记录下,供以后查看,直接看代码吧 复制代码 代码如下: local cur_timestamp = os.time() local one_hour_timestamp = 2

  • iOS获取当前时间和当前时间戳的方法

    //获取当前的时间 +(NSString*)getCurrentTimes{ NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; //现在时间,你可以输出来看下是什么格式 NSDate *datenow = [NSDate d

  • python获取当前时间对应unix时间戳的方法

    本文实例讲述了python获取当前时间对应unix时间戳的方法.分享给大家供大家参考.具体分析如下: Unix timestamp:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒 import datetime import time print time.mktime(datetime.datetime.now().timetuple()) 输出为: 1431674373.0 PS:这里再为大家推荐一个本站Unix时间戳转换工具,附带了各种语言下Unix时间戳的操作

  • 使用php 获取时间今天明天昨天时间戳的详解

    使用php获取时间今天明天昨天时间戳2013-06-20 11:12<?phpecho "今天:".date("Y-m-d")."<br>";     echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>";     echo "明天:".date("Y-m-

  • 基于python获取本地时间并转换时间戳和日期格式

    附上代码与运行结果截图: import time # 获取当前时间 now = time.localtime() # 格式化日期 now_ = time.strftime('%Y-%m-%d %H:%M:%S', now) # 获取当前时间,以时间戳格式 now_stamp = time.time() # 日期转时间戳 change_to_stamp = time.mktime(time.strptime(now_, "%Y-%m-%d %H:%M:%S")) # 时间戳转日期 cha

  • Lua获取系统时间和时间格式化方法及格式化参数

    一.系统当前时间对应的时间戳 复制代码 代码如下: local ntime = os.time print(ntime) 二.格式化时间显示,参考下表 常用于设置header等 复制代码 代码如下: ngx.header["Last-Modified:"]  = os.date("%a, %d %b %Y %X GMT") ngx.header["Content-Type"]    = "text/html; charset=utf-8

  • C/C++如何获取当前系统时间的实例详解

     C/C++如何获取当前系统时间的实例详解 C库中与系统时间相关的函数定义在<time.h>头文件中, C++定义在<ctime>头文件中. 一.time(time_t*)函数 函数定义如下: time_t time (time_t* timer); 获取系统当前日历时间 UTC 1970-01-01 00:00:00开始的unix时间戳 参数:timer 存取结果的时间指针变量,类型为time_t,指针变量可以为null.如果timer指针非null,则time()函数返回值变量

  • JavaScript简单获取系统当前时间完整示例

    本文实例讲述了JavaScript简单获取系统当前时间的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  • android-获取网络时间、获取特定时区时间、时间同步的方法

    最近整理出android-获取网络时间.获取特定时区时间.时间同步的方法.具体如下: 方法一: SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dff.setTimeZone(TimeZone.getTimeZone("GMT+08")); String ee = dff.format(new Date()); 这个方法获取的结果是24小时制的,月份也正确. 这个方法不随手机时间

  • Oracle如何获取系统当前时间等操作实例

    获取系统当前时间 date类型的 select sysdate from dual; char类型的 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; select to_char(sysdate, 'yyyy' ) from dual; --年 select to_char(sysdate, 'MM' ) from dual; --月 select to_char(sysdate, 'dd' ) from dual; --日

随机推荐