我们可以使用Time类来生成一个当前时间的对象: t = Time.new 或 t = Time.now
Time类有类方法mktime(同义方法是local方法)来根据传入的参数生成时间对象,并且它使用的是当前的时区: 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
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)
生成的时间对象有一个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)
使用秒数来创建日期: ==================================================== 在内部,日期存储为一个整数,代表从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
日期的格式化 ==================================================== 获取本日是星期几: 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 Time Tracker是一款基于Ruby语言开发的开源时间管理工具,专为开发者和团队设计,用于跟踪项目和任务的工作时间。这款工具允许用户记录他们花费在不同任务上的时间,从而提高工作效率和项目管理能力。RubyTime...
### Ruby中Time对象的常用函数总结 在Ruby编程语言中,`Time`对象是一个非常重要的类,用于处理日期和时间相关的操作。本文将详细介绍`Time`对象的一些常见且实用的方法和函数,帮助开发者更好地理解和应用这些功能...
在Ruby编程语言中,处理时间是一项常见的任务,而Ruby提供了强大的`Time`模块来支持这一需求。本篇文章将深入探讨如何使用Ruby中的`Time`模块进行时间的基本操作。 首先,获取当前日期和时间非常简单。你可以通过...
是否曾经需要测量一段或多位 Ruby 代码的运行时间,但不一定想要达到或推出您自己的临时测量代码? 尝试time_up ! 这个 gem 对于长时间运行的流程(如测试套件)特别有用,这些流程有几个在流程的生命周期中重复的...
Ruby通过其标准库中的Time类为开发者提供了丰富的日期和时间处理功能。本教程将详细介绍在Ruby中如何处理日期和时间,包括创建日期时间对象、获取日期时间的各个组成部分、使用不同的时间函数、处理时区和夏令时以及...
本章节将详细讲解Ruby中的`Time`类和`Date`类,以及如何进行时间相关的操作。 首先,我们来看`Time`类。`Time`类主要用于处理带有时间戳的时间对象,它可以从系统获取当前时间,比如使用`Time.new`或`Time.now`。...
Ruby Compiler是专门为Ruby语言设计的一种AOT(Ahead-of-Time)编译器,它的出现是为了提高Ruby程序的运行效率和性能。与传统的JIT(Just-In-Time)编译器不同,AOT编译器在程序执行前就将源代码编译为机器码,使得...
为了解决这个问题,可以考虑使用AOT(Ahead-Of-Time)编译技术,将Ruby代码预编译为Dalvik或ART可以理解的字节码,从而提高运行效率。 总的来说,Android Ruby解释器为Android开发带来了一种新的可能性,让熟悉Ruby...
You'll find out that garbage collection accounts for 80% of slowdowns, and often takes more than 50% of your program's execution time. And you'll discover the bottlenecks in Rails code and learn how ...
6. **Ruby编译器选项**:这个版本增加了新的编译器选项,如`--enable-jit`(Just-In-Time编译),可以开启JIT编译以提高运行时性能。 7. **Ruby垃圾收集(GC)改进**:Ruby 2.6.1改进了垃圾收集算法,降低了内存...
- **性能提升**:Ruby 2.5引入了JIT(Just-In-Time)编译器,提升了执行效率。 - **线程改进**:多线程性能得到了优化,减少了全局解释器锁(GIL)对并发的影响。 - **语法糖**:添加了`safe navigation operator...
You’ll find out that garbage collection accounts for 80% of slowdowns, and often takes more than 50% of your program’s execution time. And you’ll discover the bottlenecks in Rails code and learn ...
1. **Just-In-Time (JIT) 编译器**:Ruby 2.6引入了一个内置的JIT编译器,名为RuboCop,它能够提升解释器执行效率,尤其是在处理复杂循环和函数调用时。 2. **安全的字符串连接操作**:Ruby 2.6引入了`String#%w[]`...
Ruby-TZInfoRubyTimezone库是一个专门为Ruby编程语言设计的时区处理库,它提供了对全球不同时区的详尽支持,并且能够处理夏令时(Daylight Saving Time,DST)的变化。这个库的核心功能在于帮助开发者在处理日期和...
默认情况下,Ruby的JSON库不会自动处理Date或Time对象,它们会被转换为字符串。如果你想保持日期和时间的原始类型,可以自定义JSON生成器,或者使用`as_json`方法来定义如何转换这些对象。 4. **安全解析**: ...
例如,引入了全新的Just-In-Time (JIT)编译器,可以显著提升某些代码段的执行速度。此外,这个版本还支持位操作符,改进了元编程能力,以及对Unicode字符的更好处理。对于开发者来说,这些更新意味着更快的应用程序...
在处理日期和时间时,Ruby提供了内置的Date、Time以及DateTime类,这些类可以帮助我们进行基本的时间操作。然而,有时我们需要更复杂的计算,比如计算两个时间点之间的差值,这时可以借助第三方Gem库来实现,比如...
标题“叶玎玎:Real Time Solutions with Ruby”中的“Real Time Solutions with Ruby”明确指出本演讲或文章的主题是关于如何利用Ruby编程语言来实现实时应用解决方案。“叶玎玎”则是演讲者或作者的名字。 #### ...