由于工作原因,两周前开始研究Lua,因为之前的项目要由php改成Lua实现,而一些php里现成的东西,在Lua里就需要手写,于是就有了下面的代码。写的比较粗糙,权当做个记录吧。

--[[
获取时间戳
--]]
function strtotimestamp(timeToConvert) local ymdhis = "(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)" local runyear,runmonth,runday = getymd(timeToConvert);
local runhour,runminute,runseconds = gethis(timeToConvert);
local convertedTimestamp = os.time({
year = runyear,
month = runmonth,
day = runday,
hour = runhour,
min = runminute,
sec = runseconds
});
return convertedTimestamp;
end --[[
获取年、月、日
--]]
function getymd(str)
local ymd = "(%d+)-(%d+)-(%d+)"
local md = "(%d+)-(%d+)"
local runyear, runmonth, runday = str:match(ymd); if runyear then
return runyear, runmonth, runday;
else
local runmonth, runday = str:match(md);
if runmonth then
return nil,runmonth, runday;
else
return nil,nil,nil;
end
end end --[[
获取时、分、秒
--]]
function gethis(str)
local his = "(%d+):(%d+):(%d+)"
local hi = "(%d+):(%d+)" local runhour, runminute, runseconds = str:match(his);
if runhour then
return runhour, runminute, runseconds;
else
local runhour, runminute = str:match(hi);
if runhour then
return runhour, runminute, nil;
else
return nil,nil, nil;
end
end end

Lua 仿PHP的strtotime的更多相关文章

  1. lua(仿类)

    Account = { balance = } function Account:deposit(v) self.balance = self.balance + v end function Acc ...

  2. lua迭代器和仿制药for

    不管是什么样的结构,你只需要同意遍历集合可以称为迭代器的所有元素.lua常用来形容叙事功能迭代器.个元素.每个迭代器都须要保存一些状态来知道当前处于什么位置和怎样进行下一次迭代. 对于这种任务.闭包提 ...

  3. luvit 被忽视的lua 高性能框架(仿nodejs)

    备注:       luvit  开放模式和nodejs 一样,但是因为生态以及小众语言的问题,使用的人比较少,但是从目前     来看更新速度还是比较快的,但是从现有lua 开发框架来说一般倾向于使 ...

  4. wrapper for lua

    考虑使用已经有的dll,要写wrapper,使得在lua中能调用dll里的函数,嗯,参考<Programming in lua>,然后仿写luars232. 一.函数定义 先分析一个函数的 ...

  5. LUA和C++绑定的一些天然的麻烦

    最近在看Luatinker的源代码,打算自己改(仿写)写搞一个简单的封装C++和LUA的结合的库,结果发现其实麻烦和困惑比想象的多. 比如这些点: 1)有时候使用模板的时候,引用会退化. classt ...

  6. 01 . OpenResty简介部署,优缺点,压测,适用场景及用Lua实现服务灰度发布

    简介 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 ...

  7. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  8. lua执行字节码的过程介绍

    前面一篇文章中介绍了lua给下面代码生成最终的字节码的整个过程,这次我们来看看lua vm执行这些字节码的过程. foo = "bar" local a, b = "a& ...

  9. lua 学习笔记(1)

    一.lua函数赋值与函数调用         在lua中函数名也是作为一种变量出现的,即函数和所有其他值一样都是匿名的,当要使用某个函数时,需要将该函数赋值给一个变量,这样在函数块的其他地方就可以通过 ...

随机推荐

  1. 关于oledb对Excel的读取

    这两天项目需求要检索excel的内容,于是就研究了一下,话不多说,我就直接贴代码1.首先是连接excel. public DataTable SearchSheetToDT(string strSea ...

  2. 在vim里每行增加//注释

    1.ctrl+v选择区域块 ,可以选到每一行的第一个word 2. shift+i 3. 光标会定位在第一行, 输入一个// 4. 按esc, 被选择的所有行就加上了//

  3. [Data Structure] 红黑树( Red-Black Tree ) - 笔记

    1.  红黑树属性:根到叶子的路径中,最长路径不大于最短路径的两倍. 2. 红黑树是一个二叉搜索树,并且有 a. 每个节点除了有左.右.父节点的属性外,还有颜色属性,红色或者黑色. b. ( 根属性 ...

  4. [Java] Collections - 源代码学习笔记

    Collection interface 集合接口 1. 在 Collections 体系中,接口 Collection 是根接口 2. 是指一组对象,这些对象被称为 Collection 的元素. ...

  5. Git Bash 使用心得

    1:下载Git  Git for Windows 2:点击安装,依次默认下一步 3:安装完成 4:设置SSH建立计算机与Github的链接 4.1 点击开始菜单找到Git Bash,并点击: 4.2 ...

  6. cmake编译错误:“No CMAKE_C_COMPILER could be found”的原因

    发生此错误,原因在于,进行configure命令时,没有选择正确的编译器,比如电脑上安装的是VS2012,想编译位64位,选择了VS2012 X64,这样就会报错了,选择VS2012就对了,一样可以编 ...

  7. 解决display: inline-block; 4px间隙的全兼容做法

    就拿ul, li标签做例,关键代码如下: ul{ font-size: 0; letter-spacing: -4px; word-spacing: -4px; //解决4px间隙的全兼容做法 } l ...

  8. C++ —— 库函数的 语法解析

    1.__declspec 用法总结 链接:http://blog.chinaunix.net/uid-24517893-id-2749061.html 详解2:http://www.01yun.com ...

  9. SpringMVC整合fastjson-1.1.41

    以前用fastjson也只是硬编码,就好像这篇博文写的http://blog.csdn.net/jadyer/article/details/24395015 昨天心血来潮突然想和SpringMVC整 ...

  10. WCF的回调使用实例代码说明

    很多时候我们会遇到,信息及时推送通知的情况,例如:监控设备时及时推送状态.报警信息等,我们就可以用WCF的回调机制来实现,下面以一个监控设备名字为例,如果设备名字发生改变,服务器就马上推送消息给客户端 ...