Lua中获取第二天凌晨的剩余时间
在时间这个问题上,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中获取第二天凌晨的剩余时间的更多相关文章
- 【原创】大叔问题定位分享(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 ...
- lua中获取时间
os.date() 返回 XX/XX/XX XX:XX:XX 月/日/年 时:分:秒 os.time() 返回的是从1970年1月1日到现在的经过的秒数. 例如: print(os. ...
- springdata 使用plql更新时候注意点 ?2 表示从方法中获取第二个形参的值 ?1表示从方法中获取第一个值
1.query表示的是查询 需要在操作update的方法上再次添加一个注解modifying 2.plql不是springdatajpa自带的sql功能自带的功能 自动有事务: 所以需要我们手动在se ...
- Lua中获取table长度
-- table.getn(tableName) 得到一个table的大小,等同于操作符# -- 要注意的是:该table的key必须是有序的,索引是从1开始的. --例如有序的 local xian ...
- 在SQL SERVER中获取表中的第二条数据
在SQL SERVER中获取表中的第二条数据, 思路:先根据时间逆排序取出前2条数据作为一个临时表,再按顺时排序在临时表中取出第一条数据 sql语句如下: select top 1 * from(se ...
- lua中得栈
如果你看了LUA的文档,那么就应该很清楚LUA与C交互数据时都是用到LUA中所谓的stack.那么当我调用lua_open函数之后栈是什么样的呢?空的(luaopen_base等会往栈上加进一些东西) ...
- Lua中的捕获
Lua中的捕获 捕获 捕获是这样一种机制:可以使用模式串的一部分匹配目标串的一部分.将你想捕获的模式用圆括号括起来,就指定了一个捕获.在string.find使用捕获的时候,函数会返回捕获的值作为 ...
- [译] Closures in Lua - Lua中的闭包
原文:(PDF) . 摘要 一等(first-class)函数是一种非常强大的语言结构,并且是函数式语言的基础特性.少数过程式语言由于其基于栈的实现,也支持一等函数.本文讨论了Lua 5.x用于实现一 ...
- Lua 中的string库(字符串函数库)总结
(字符串函数库)总结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-11-20我要评论 这篇文章主要介绍了Lua中的string库(字符串函数库)总结,本文讲解了string库 ...
- Lua中的元表与元方法
[前言] 元表对应的英文是metatable,元方法是metamethod.我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算.在Lua中也有这个道理 ...
随机推荐
- 阿里云-对象存储OSS
https://help.aliyun.com/product/31815.html 阿里云对象存储OSS(Object Storage Service)是一款海量.安全.低成本.高可靠的云存储服务, ...
- Golang-结构体6
http://c.biancheng.net/golang/struct/ Go语言结构体定义 Go语言可以通过自定义的方式形成新的类型,结构体就是这些类型中的一种复合类型,结构体是由零个或多个任意类 ...
- pytest测试不通过重跑
在执行自动化测试时,可能存在外在因素导致测试不通过,这个时候就需要多次执行用例查看结果 1.安装 pip install pytest-rerunfailures 2.添加 在需要重跑的用例上加@py ...
- Sybaris pg walkthrough Intermediate 从redis 到 rce
nmap ┌──(root㉿kali)-[~/lab] └─# nmap -p- -A 192.168.166.93 Starting Nmap 7.94SVN ( https://nmap.org ...
- Forrester Wave™报告:天翼云三项产品能力获评最高分!
8月5日,国际权威研究机构Forrester发布了<Forrester Wave: 中国公有云平台厂商评测,2024Q3>报告.中国电信天翼云凭借前瞻性的发展战略和领先的产品能力,跻身行业 ...
- 利用Python开发Exporter,集成Prometheus和Grafana对进程监控
利用Python开发Exporter,集成Prometheus和Grafana对进程监控 在现代软件开发和运维中,监控是确保系统稳定运行和快速响应问题的重要手段.Prometheus和Grafana的 ...
- Iceberg Spark存储过程-表治理工具
一.简介 存储过程(Procedure)是数据库领域的概念,类似于编程语言中的方法或函数,是对实现特定操作的封装,原生的 Spark SQL 中是不支持存储过程的,Iceberg 0.11.0版本之后 ...
- P2730 [USACO3.2] 魔板 Magic Squares 题解
一些废话 夜深人静的夜晚,我开了这道题.看起来,完成它是一件轻而易举的事.我想了想,打开Dev-C++,开始写代码. 然而,那时的我还不知道,我踏入了深渊...... 咳咳,中二病犯了,前面的文字请忽 ...
- 【计算机】常见CPU指令集发展及其关系
[计算机]常见 CPU 指令集发展及其关系 CPU 与指令集 任何计算机都有一块 CPU,CPU 有其支持的指令集,根据指令集间的兼容性,一种 CPU 可能同时支持多种指令集. 指令集中记录了 CPU ...
- Deepseek学习随笔(6)--- API 开发与自动化
获取 API Key 要开始使用 DeepSeek 的 API,你首先需要获取 API Key: 登录 DeepSeek 控制台 . 进入 API 管理 页面,生成 API Key. API 调用示例 ...