`

Ruby对时间的处理函数

    博客分类:
  • ruby
阅读更多
Ruby对时间的处理函数

1.当前时间
  t = Time.new
 或
 t = Time.now

2.生成指定时间
  t1 = Time.mktime(2001)                # January 1, 2001 at 0:00:00
 t2 = Time.mktime(2001,3)
 t3 = Time.mktime(2001,3,15)
 t4 = Time.mktime(2001,3,15,21)
 t5 = Time.mktime(2001,3,15,21,30)
 t6 = Time.mktime(2001,3,15,21,30,15) # March 15, 2001 9:30:15 pm
mktime使用当前时区

Time.gm(同义方法是Time.utc)方法基本上和上面的mktime用法相同,但它使用的是GMT或UTC时区
t8 = Time.gm(2001,3,15,21,30,15)  
t9 = Time.utc(2001,3,15,21,30,15)

3.时间数组化
to_a可以把时间相关一信息转化成一个数组,数组中存放的信息格式如下:
seconds,
minutes,
hours,
day,
month,
year,
day of week (0..6),
day of year (1..366),
daylight saving (true or false),
and time zone (as a string)

示例:
t0 = Time.local(0,15,3,20,11,1979,2,324,false,"GMT-8:00")
t1 = Time.gm(*Time.now.to_a)

4.使用数字秒数创建时间,其中这个整数代表从1970年开始到当前的秒数,
epoch = Time.at(0)          # Find the epoch (1 Jan 1970 GMT)
newmil = Time.at(978307200) # Happy New Millennium! (1 Jan 2001)

now = Time.now              # 16 Nov 2000 17:24:28
sec = now.to_i              # 974424268

5. 日期的格式化
获取本日是星期几:
now = Time.now + 1
day_num = now.wday           #3
day_abbr = now.strftime("%a")   #Wed
day_full = now.strftime("%A")   #Wednesday

获取一年中本日所在的周:
t1 = Time.local(2002,5,1)
1 = Date.new(2002,5,1)

week1a = t1.strftime("%U").to_i   # 17
week1b = t1.strftime("%W").to_i   # 17
week1c = d1.cweek                 # 18

获取当前时区:
z1 = Time.gm(2000,11,10,22,5,0).zone     # "UTC"
z2 = Time.local(2000,11,10,22,5,0).zone # "中国标准时间"

格式化时间
t = Time.now
puts t.strftime("%H:%M:%S")      # 22:07:45

puts t.strftime("%H:%M")         # 22:07
puts (t + 30).strftime("%H:%M") # 22:08 (加了30秒)

puts t.strftime("%I:%M %p")      # 10:07 PM

strftime方法中可用的格式化符号:
=====================================================
%a    星期的缩写,如Wed
%A    星期的全称,如Wednesday
%U    本星期在全年中所属的周数
%W  
%H    小时(24小时制)
%M    分钟
%S    秒
%I    小时(12小时制)
%p    PM 或 AM

%b    月份的缩写,如 Jan
%B    月份的全称,如 January
%c    本地日期和时间,如 06/14/07 16:43:49
%d    日期 (1..31)
%j    本日在一年中所属的天 (1..366)
%m    月份 (1..12)
%w    星期的数字形式 (0..6)
%x    本地日期,如 06/14/07
%Y    本地时间,如 16:43:49
%y    2位的年份表示,如07
%Y    4位的年份表示,如2007
%Z    时区名,如"中国标准时间"
%%    字面符号%
分享到:
评论

相关推荐

    Ruby-Functo是ruby中的可组合方法对象

    3. **柯里化**:Functo也提供了柯里化(Currying)的功能,这是一种特殊的函数应用方式,将一个多参数的函数转化为一系列单参数的函数,每次只处理一个参数,直到所有参数都被处理完毕。 4. **部分应用**:部分应用...

    ruby语言帮助文当

    Ruby的标准库提供了大量预装模块和类,用于文件操作、网络通信、日期和时间处理等各种任务,是Ruby强大功能的基础。 2. `ruby20-core.chm`:可能是关于Ruby 2.0核心库的文档,核心库包含了语言的基本结构和功能,如...

    Ruby新手学习书(Ruby语言中文教程)和Rails_4_days

    通过这些资源,初学者可以在短时间内建立起对Ruby语言和Rails框架的基本理解,并逐步进阶到更复杂的开发任务。记得理论学习与实践相结合,不断编写代码和调试,是提升技能的最好方式。祝你在Ruby的世界里探索愉快!

    Ruby不完全读书指南.rar

    Ruby的标准库非常丰富,涵盖网络通信、文件系统操作、正则表达式、日期和时间处理等多个方面。此外,Ruby还有强大的元编程能力,允许在运行时修改和创建代码,这使得Ruby成为构建DSL(领域特定语言)的理想选择。 ...

    ruby1.8.6-26

    - 充实的标准库:提供大量内置函数和模块,涵盖网络、文件系统、XML处理等多个领域。 使用场景: - 教育:由于其简洁易读的语法,Ruby常被用于初学者学习编程。 - 软件开发:在开发Web应用,如使用Rails框架时,...

    Ruby-Savon是一个Ruby编程语言的SOAP客户端

    一旦客户端建立,你可以像调用Ruby方法一样调用SOAP服务的函数,Savon会处理所有细节: ```ruby response = client.call(:some_method, message: {param1: "value1", param2: "value2"}) ``` Savon还支持一些高级...

    ruby.rar

    Ruby还拥有丰富的标准库,包括文件操作、网络通信、日期和时间处理等,这些都通过简单的API供开发者使用。此外,Ruby的错误处理机制采用异常处理,通过`begin-rescue-end`块来捕获和处理运行时可能出现的问题。 接...

    Ruby语言入门教程

    Ruby标准库非常丰富,包括文件I/O、网络通信、日期和时间处理等众多模块。例如,`File`类提供了处理文件的各种方法,而`Net::HTTP`模块则用于HTTP请求。 异常处理在Ruby中通过`begin..rescue..end`块实现。当代码块...

    .一步一步学RUBY

    - **表达式与操作符**:Ruby允许字符串等类型的乘法操作,进一步体现了其对多种数据类型的支持和灵活处理能力。 - **方法与赋值**:Ruby允许定义自定义方法,甚至可以在现有类的基础上添加新方法,支持多重返回值。 ...

    ruby API资料

    标准库是Ruby内置的一系列模块和类,包括文件操作、网络通信、日期和时间处理、正则表达式等。通过这个文档,开发者可以了解如何使用如`File`、`Net::HTTP`、`Date`和`Regexp`等类,以实现各种常见的任务。 2. **...

    ruby-2.6.3源码压缩包

    1. **Just-In-Time (JIT) 编译器**:Ruby 2.6引入了一个内置的JIT编译器,名为RuboCop,它能够提升解释器执行效率,尤其是在处理复杂循环和函数调用时。 2. **安全的字符串连接操作**:Ruby 2.6引入了`String#%w[]`...

    ruby代码分享——excel应用

    利用Ruby的时间函数和格式化选项,可以在Excel中准确地显示日期时间信息。 #### 4. 调用Excel内置宏 通过`Run`方法,可以调用Excel的内置宏或自定义宏,实现复杂的数据处理和格式调整。 以上知识点涵盖了使用Ruby...

    Ruby-Async是基于nio4r和定时器的Ruby的可组合的异步IO框架

    Ruby-Async是建立在这个理念之上,通过nio4r库来实现对多种I/O事件的监听。nio4r是一个用于非阻塞I/O操作的高性能库,它基于Java的NIO(非阻塞I/O)接口,为Ruby提供了类似的功能。nio4r提供了一种高效的方式来注册...

    Ruby200

    8. **标准库**:Ruby 拥有一个丰富的标准库,包含了各种常用的工具和功能,如文件操作、网络通信、日期和时间处理等。 Ruby 200 版本可能是在 Ruby 1.9.x 系列之后的一个更新,它可能引入了一些改进和修复。不过,...

    programming+ruby中文版第二版

    《Programming Ruby中文版第二版》会介绍许多常用库,如文件和目录操作、网络编程、正则表达式、日期和时间处理等,这些都是开发日常工作中经常遇到的问题。 本书还涵盖了测试驱动开发(TDD)和行为驱动开发(BDD)...

    ruby 1.8.5 .tgz

    Ruby 1.8.5 是一个古老的 Ruby 语言版本,发布于 2007 年,主要用于 Linux 操作系统。这个 .tgz 文件是一个压缩包,包含了完整的 Ruby ...对于那些必须维护旧项目的开发者,理解并处理与旧版 Ruby 相关的问题至关重要。

    rubyonrails+Ruby+取得指定月日期数方法

    Ruby on Rails 是一个使用 Ruby 语言编写的开源 web 应用框架,它遵循 MVC(模型-视图-控制器)架构模式。...此外,对时间处理感兴趣的开发者可以进一步探索 `Time` 类,它是 Ruby 处理时间的另一个重要类。

    ruby解释性脚本语言中文文档

    Ruby内置了丰富的字符串处理函数,支持字符串的拼接、查找、替换、分割等操作,同时提供了强大的正则表达式支持。正则表达式在Ruby中是第一等公民,可以方便地用于数据匹配和提取,极大地提高了文本处理的效率。 ...

    关于ruby学习的资料

    6. 标准库:Ruby的标准库包含大量预定义的模块和类,涵盖了网络通信、文件操作、日期时间处理等多个领域。 7. 社区支持:Ruby拥有活跃的开发者社区,如Ruby on Rails框架的流行,带动了大量高质量的开源项目和工具...

    Ruby 技术手册(CHM 电子版)

    本书可能涵盖了Ruby的标准库,这是Ruby内置的一系列模块和类,包含各种实用功能,如文件操作、网络通信、日期时间处理等。通过学习标准库,开发者可以充分利用Ruby的内置工具,提高开发效率。 Ruby on Rails框架是...

Global site tag (gtag.js) - Google Analytics