Erlang操作时间
来源:互联网 发布:广州淘宝家具拍摄 编辑:程序博客网 时间:2024/06/05 17:35
1、首先,说说时间相关的基础函数,类似于其它语言中的获取时间戳函数。
查下API文档,描述如下:
erlang:now()
timestamp()
MegaSecs
可以看到,这个就是erl中的获取时间戳的方法,知识她精确到了微妙。erl系统确保这个api的返回值不会重复,这个特性很厉害,据说pid创建就与这个为基础。
结果以tuple形式形式返回。Secs为秒的简写,Mega宏达的意思,Micro极小的意思,MegaSecs兆秒,MicroSecs微妙。
为了和其它语言方便通信,有时候需要转换成标准时间戳(从UTC时1970年1月1日0时0分0秒起至现在的总秒数)。Now转换成标准时间戳的方法。
now_to_s({MegaSecs,Secs,_})->
MegaSecs*1000000+Secs.
date()
Date
Returns
time()
Hour
Returns
标准函数中的date和time分别返回当地的日期时间,对应于calendar:local_time()。
calendar:local_time()的返回值为{date(),time()}。标准函数中有date和time了,calendar
中为什么还要设计local_time呢。文档上描述是为了避免先调用time(),再调用date(),正好在隔日的分界点,就会出现问题了。
3、erlang日期时间转换为时间戳的方法。
calendar:datetime_to_gregorian_seconds(DateTime)
DateTime
Seconds
这个返回的是格林尼治标准时间秒数。
格林尼治标准时间(GMT),这个秒数是当前到0,,0,0
时间戳用的是utc时间。综上,方法如下:
calendar:datetime_to_gregorian_seconds(LocalDateTime)-calendar:datetime_to_gregorian_seconds({{1970,1,1},{8,0,0}}).
如果存储的不是本地时间,则:
calendar:datetime_to_gregorian_seconds(DateTime)-calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}}).
- Erlang操作时间
- Erlang学习时间曲线
- ERLANG日期与时间
- Erlang获取当前时间
- [Erlang 0059] Erlang日期与时间处理
- Erlang File基本操作
- erlang lists 操作
- erlang 元组操作
- erlang字符串操作
- erlang字符串操作
- erlang文件操作
- erlang lists操作
- Erlang数据库Mnesia操作
- erlang mysql 操作
- erlang list 操作
- erlang文件操作
- erlang 文件读写操作
- ERLANG判断时间,时分秒
- Yii2.0 数据库基本操作
- jQuery选择器和事件
- hd2199 Can you solve this equation?
- Android Interview Questions(20k)
- 遥感知识网站
- Erlang操作时间
- 扁平化设计原则
- jQuery动画效果2(animate移位效果/stop停止/delay延时效果)
- 关于@property的一点理解
- Java compiler level does not match解决方法
- html以及css中注意的属性
- VIM配置文件
- 【C语言探索之旅】 第二部分第十课:练习题和习作
- PAT (Advanced Level) 1085. Perfect Sequence (25) 贪心算法