由于工作原因,两周前开始研究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. BZOJ2749: [HAOI2012]外星人

    2749: [HAOI2012]外星人 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 377  Solved: 199[Submit][Status] ...

  2. Java StringTokenizer分割字符串

    除了String本身的split方法,JDK在很早就提供了StringTokenizer这个类来分割字符串: 不过,由于正则表达式和String本身的功能越来越多,StringTokenizer已经被 ...

  3. 关于TFS2012无法发送警报邮件的问题

    前几天把公司的TFS从2010升级到2012,整个过程经历了3个小时,过程比较顺利.升级完成后眼馋各种新功能,感叹知识真是待到用时方恨少呐,只得一个一个去摸索了.其中有一个“警报”的功能让我印象深刻( ...

  4. MySQL数据库的安装

    官方下载地址: http://downloads.mysql.com/archives/community/ msi为安装版,zip为免安装版,最新版本的MySQL没有64位windows的msi版囧 ...

  5. SVN linux端配置

    1.create a folder:     mkdir /sandbox/svn 2.create svn repository:     svnadmin create /sandbox/svn/ ...

  6. Nodejs 上传下载功能的实现(同步)

    上传和下载可分为两种,一种是form表单的形式(同步),另一种是Ajax的形式(异步). 示例一(form表单): html代码如下: <!DOCTYPE html> <html&g ...

  7. Android Studio中解决Gradle DSL method not found: &#39;android()&#39;

    近期导入as的项目出了这种问题 这个问题困扰了我非常长时间,好吧,搜了半天全都是runProguard的.最后在stackoverflow上搜到解决的方法了: http://stackoverflow ...

  8. Java基础知识强化72:正则表达式之判断功能(手机号码判断 和 校验邮箱)

    1.  判断功能: 使用了String类的matches方法,如下: public boolean matches(String regex): 2. 判断手机号码的案例: package cn.it ...

  9. ShareSDK.xml 配置

    简要说明 <ShareSDK AppKey="1089fa233237e" /> <!-- 修改成你在sharesdk后台注册的应用的appkey" - ...

  10. JDBC连接Oracle数据库时出现的ORA-12505错误及解决办法

    转载至http://www.blogjava.net/itspy/archive/2007/12/20/169072.html Oracle 问题描述:今天使用jdbc连接oracle 10.2.0. ...