| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 128 人关注过本帖
标题:一个实用的协调世界时的函数,非常实用
取消只看楼主 加入收藏
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1009
专家分:1535
注 册:2021-10-13
结帖率:97.7%
收藏
已结贴  问题点数:20 回复次数:2 
一个实用的协调世界时的函数,非常实用
如题。这个时间戳几乎是唯一的,也可以用于某些需要唯一性的场合。。。

根据6楼的简洁代码更改一下,谢谢@nbwww

程序代码:
* utctime.prg
* 参数lttime为日期时间型,默认为系统当前日期时间
* nunit为返回的时间单位,0为秒,1为毫秒。
* 该程序用于将本地时间转换为UTC时间戳,常用于网络编程。
* 支持秒级(nunit[color=#808080]=0)和毫秒级(nunit=1)两种输出格式。[/color]
* 默认返回秒级时间值
* 适合于东八区,北京时间

PARAMETERS lttime,nunit &&0,second;1,millisecond

DO CASE 
    CASE PCOUNT()=0
        lttime=DATETIME()
        nunit=0
    CASE PCOUNT()=1
        nunit=0
    CASE PCOUNT()=2
        IF !INLIST(nunit,0,1)
            nunit=0
        ENDIF 
    
    OTHERWISE 
    
ENDCASE

LOCAL lnmillisecond

* 获取毫秒数,一个近似值,
lnmillisecond=SECONDS()
lnmillisecond=INT((lnmillisecond-INT(lnmillisecond))*1000)

*得到的结果可以作为唯一的整数使用。
IF nunit=1
    RETURN (lttime-DATETIME(1970,1,1,8,0,0))*1000+lnmillisecond
ELSE 
    RETURN lttime-DATETIME(1970,1,1,8,0,0)
ENDIF 


 



[此贴子已经被作者于2025-10-16 20:36编辑过]

搜索更多相关主题的帖子: 函数 CASE 时间 世界 唯一 
昨天 11:08
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1009
专家分:1535
注 册:2021-10-13
收藏
得分:0 
回复 2楼 csyx
哈哈,DS也建议我加一个时区参数。

但我想,自己用用可以了,老外不会用我这个吧
昨天 12:30
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1009
专家分:1535
注 册:2021-10-13
收藏
得分:0 
回复 6楼 nbwww
可以说是也可以说不是,哈哈,你这整的,没朋友的
昨晚 19:32
快速回复:一个实用的协调世界时的函数,非常实用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017851 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved