Ruby学习笔记(11)_Date&Time

来源:互联网 发布:mac rebel什么质地 编辑:程序博客网 时间:2024/06/07 13:29

Time 类在 Ruby 中用于表示日期和时间。它是基于操作系统提供的系统日期和时间之上。该类可能无法表示 1970 年之前或者 2038 年之后的日期。

创建当前的日期和时间

#!/usr/bin/ruby -w# -*- coding: UTF-8 -*-time1 = Time.newputs "当前时间: "+time1.inspect#Time.now 功能相同time2 = Time.now

获取Date&Time组件

我们可以使用 Time 对象来获取各种日期和时间的组件。请看下面的实例:

#!/usr/bin/ruby -w# -*- coding: UTF-8 -*-time = Time.new# Time 的组件puts "当前时间 : " + time.inspectputs time.year    # => 日期的年份puts time.month   # => 日期的月份(1 到 12)puts time.day     # => 一个月中的第几天(1 到 31)puts time.wday    # => 一周中的星期几(0 是星期日)puts time.yday    # => 365:一年中的第几天puts time.hour    # => 23:24 小时制puts time.min     # => 59puts time.sec     # => 59puts time.usec    # => 999999:微秒puts time.zone    # => "UTC":时区名称

Time.utc、Time.gm 和 Time.local 函数

# July 8, 2008Time.local(2008, 7, 8)  # July 8, 2008, 09:10am,本地时间Time.local(2008, 7, 8, 9, 10)   # July 8, 2008, 09:10 UTCTime.utc(2008, 7, 8, 9, 10)  # July 8, 2008, 09:10:11 GMT (与 UTC 相同)Time.gm(2008, 7, 8, 9, 10, 11)

格式化时间和日期

有多种方式格式化日期和时间

#!/usr/bin/ruby -wtime = Time.newputs time.to_sputs time.ctimeputs time.localtimeputs time.strftime("%Y-%m-%d %H:%M:%S")

结果:
2017-10-13 06:04:52 +0000
Fri Oct 13 06:04:52 2017
2017-10-13 06:04:52 +0000
2017-10-13 06:04:52

时间格式化指令
下表所列出的指令与方法 Time.strftime 一起使用。
这里写图片描述

时间算法

可以用时间做一些简单的算术,如下所示:

now = Time.nowputs nowpast = now - 10 #10s之前puts pastfuture = now + 10 # 10s laterputs futurediff = future - pastputs diff
原创粉丝点击