![]() |
#2
csyx前天 11:41
|
根据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编辑过]