在时间这个问题上,lua提供两大方法来供开发者使用,一个是os.time(),一个是os.date(),这两大方法可以满足日常开发的需求。

那么我们如何准确运用这两大方法呢。

在这一文章中我们先讲os.time(),并通过一个简单的例子来获取到指定时间的秒数。

在开始这个例子之前,我们需要明白一些东西:

os.time() 得到是当前时间的距离1970.1.1.08:00时间的秒数,如果传入的参数小于这个时间,那么就会得到一个,秒数就是负数,会得到一个空值

如果没有任何参数,就会返回当前时间。如果参数一个table,并且table的域必须有 year, month, day, 可有也可以没有 hour, min, sec, isdst,则会返回table所代表日期的时间,如果未定义后几项,默认时间为当天正午(12:00:00)。 返回值是一个 number ,其值取决于你的系统。

local time=os.time() --返回当前时间
        那么显而易见这个方法返回的是一个秒数。

local toTime=os.time({year =2016, month = 11, day =23, hour =17, min =17, sec = 00})
       如果我们给os.time()传入一个自定义时间的table,代码如上所示,那么我们也将得到那个时间的总秒数。

用未来时间减去当前时间,就能获取到指定时间的秒数。

那么我们就来完成这个例子

--获取到第二日凌晨的剩余时间 返回秒数
function GetReaminSecondsTo24()
local toYear=os.date("*t").year
local toMonth=os.date("*t").month
local toDay=os.date("*t").day
local toTime = os.time({year =toYear, month = toMonth, day =toDay, hour =23, min =59, sec = 59})
local time=os.time()
return toTime-time+1; --为什么+1?因为我们返回的是当日23:59:59的秒数,如果是第二天凌晨的
--话就需要多加1
end

Lua中获取第二天凌晨的剩余时间的更多相关文章

  1. 【原创】大叔问题定位分享(36)openresty(nginx+lua)中获取不到post数据,ngx.req.get_body_data返回nil

    openresty(nginx+lua)中获取不到post数据,ngx.req.get_body_data返回nil This function returns nil if the request ...

  2. lua中获取时间

    os.date()    返回  XX/XX/XX XX:XX:XX 月/日/年    时:分:秒 os.time()   返回的是从1970年1月1日到现在的经过的秒数. 例如: print(os. ...

  3. springdata 使用plql更新时候注意点 ?2 表示从方法中获取第二个形参的值 ?1表示从方法中获取第一个值

    1.query表示的是查询 需要在操作update的方法上再次添加一个注解modifying 2.plql不是springdatajpa自带的sql功能自带的功能 自动有事务: 所以需要我们手动在se ...

  4. Lua中获取table长度

    -- table.getn(tableName) 得到一个table的大小,等同于操作符# -- 要注意的是:该table的key必须是有序的,索引是从1开始的. --例如有序的 local xian ...

  5. 在SQL SERVER中获取表中的第二条数据

    在SQL SERVER中获取表中的第二条数据, 思路:先根据时间逆排序取出前2条数据作为一个临时表,再按顺时排序在临时表中取出第一条数据 sql语句如下: select top 1 * from(se ...

  6. lua中得栈

    如果你看了LUA的文档,那么就应该很清楚LUA与C交互数据时都是用到LUA中所谓的stack.那么当我调用lua_open函数之后栈是什么样的呢?空的(luaopen_base等会往栈上加进一些东西) ...

  7. Lua中的捕获

    Lua中的捕获   捕获 捕获是这样一种机制:可以使用模式串的一部分匹配目标串的一部分.将你想捕获的模式用圆括号括起来,就指定了一个捕获.在string.find使用捕获的时候,函数会返回捕获的值作为 ...

  8. [译] Closures in Lua - Lua中的闭包

    原文:(PDF) . 摘要 一等(first-class)函数是一种非常强大的语言结构,并且是函数式语言的基础特性.少数过程式语言由于其基于栈的实现,也支持一等函数.本文讨论了Lua 5.x用于实现一 ...

  9. Lua 中的string库(字符串函数库)总结

    (字符串函数库)总结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-11-20我要评论 这篇文章主要介绍了Lua中的string库(字符串函数库)总结,本文讲解了string库 ...

  10. Lua中的元表与元方法

    [前言] 元表对应的英文是metatable,元方法是metamethod.我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算.在Lua中也有这个道理 ...

随机推荐

  1. Linux密钥rsa加密原理和ssh使用密钥实现免密码登录

    1.公私钥简介与原理 公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是: 1) 持有公钥的一方(甲)在收到持有私钥的一方(乙)的请求时,甲会在自己的公钥列表中查找是否有乙的公钥, ...

  2. Fail pg walkthrough Intermediate

    nmap ┌──(root㉿kali)-[/home/ftpuserr] └─# nmap -p- -A 192.168.159.126 Starting Nmap 7.94SVN ( https:/ ...

  3. oracle 根据排序去重取第一条

    原文转自 https://www.jianshu.com/p/d5c0a355890b,感谢作者styone分享. SELECT t.* FROM (SELECT a.*, row_number ( ...

  4. linux mint安装Idea

    一.前言 这一节我们介绍在Linux下如何安装与破解Intellij idea2017.现在有很多公司开发环境都是Linux,所以掌握在Linux环境下使用Idea办公也是咱们必须得掌握的技能. 记住 ...

  5. presto集成iceberg

    一.Presto服务下新建catelog cd /usr/local/service/presto/etc/catalog vim iceberg.properties connector.name= ...

  6. Atcoder ABC388F Dangerous Sugoroku 题解 [ 蓝 ] [ 矩阵加速 ] [ 状压矩乘 ] [ 模拟 ]

    Dangerous Sugoroku:赛时写了矩乘 T 飞了,受到 sunkuangzheng 大佬的启发才知道要状压矩乘. 暴力矩乘思路 直接像过河那样写模拟细节非常多,于是考虑像美食家一样的思路, ...

  7. 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(9)

    1.问题描述: 通过push token向鸿蒙手机推送一条通知,收到通知后,通知右侧不展示图片. 解决方案: 检查一下是否存在图片风控:https://developer.huawei.com/con ...

  8. Java、Python等接入方式对接股票数据源API接口

    为了创建一个Python项目来对接StockTV的API接口,我们可以使用requests库来发送HTTP请求,并使用websocket-client库来处理WebSocket连接.以下是一个简单的P ...

  9. C语言 链表操作

    #include<stdio.h>#include<stdlib.h>struct node{    int data;    struct node *next;};int ...

  10. pandas 操作excel

    一 Series 什么是series 相当于表格中的行和列,不同的设置可以按行或列排序 2.series 创建 空的series import pandas as pd s2=pd.Series() ...