前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在ASP中实现UNIX时间戳

在ASP中实现UNIX时间戳

作者头像
小李刀刀
发布2018-03-02 15:48:43
3.1K0
发布2018-03-02 15:48:43
举报
文章被收录于专栏:PHP 开发PHP 开发

  在康盛创想发布UC以后,我曾经尝试为其编写ASP把版本的客户端类库,过程中发现了几个问题,首当其冲的当然是服务器端不支持非php平台的接口,这个问题直接导致了我选择另起炉灶开发自己的通用用户中心。

  但是在研究UC的过程中却也有一些细小的收获。这篇文章说说PHP中的时间戳。在PHP中,时间函数time()获得的不是我们在ASP中的事件函数Now()所返回的“2008-06-04 21:19:41”这样的形式,而是“1123495443”这样的形式。这个记录的是所表示的时间与1970年1月1日午夜零点之间的事件差,单位为秒,不考虑闰年等因素。

  如果要编写UC的ASP客户端,这个问题是必然要面对的,实际上即使不为UC编写客户端,这个特性引入ASP还是有不少好处的。下面是具体的实现办法:

ASP/Visual Basic代码

代码语言:js
复制
'参数:strTime:要转换的时间;intTimeZone:该时间对应的时区      
'返回值:strTime相对于1970年1月1日午夜0点经过的秒数      
'示例:ToUnixTime("2008-5-23 10:51:0", +8),返回值为1211511060      
Function ToUnixTime(strTime, intTimeZone)       
 If IsEmpty(strTime) or Not IsDate(strTime) Then strTime = Now       
 If IsEmpty(intTimeZone) or Not isNumeric(intTimeZone) Then intTimeZone = 0       
    ToUnixTime = DateAdd("h",-intTimeZone,strTime)       
    ToUnixTime = DateDiff("s","1970-1-1 0:0:0", ToUnixTime)       
End Function 
 
'把UNIX时间戳转换为标准时间      
'参数:intTime:要转换的UNIX时间戳;intTimeZone:该时间戳对应的时区      
'返回值:intTime所代表的标准时间      
'示例:FromUnixTime("1211511060", +8),返回值2008-5-23 10:51:0      
Function FromUnixTime(intTime, intTimeZone)       
 If IsEmpty(intTime) Or Not IsNumeric(intTime) Then 
        FromUnixTime = Now()       
 Exit Function 
 End If 
 If IsEmpty(intTime) Or Not IsNumeric(intTimeZone) Then intTimeZone = 0       
    FromUnixTime = DateAdd("s", intTime, "1970-1-1 0:0:0")       
    FromUnixTime = DateAdd("h", intTimeZone, FromUnixTime)       
End Function 

  这两个函数分别用于标准时间转Unix时间戳和Unix时间戳转标准时间。用法在函数前面的注释里写得很清楚了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档