![](http://1.gravatar.com/avatar/b15f7071d1bb8dadf518f85a45f475bb?s=48)
它看起來像ActiveSupport確實提供了解析方法您正在尋找(我一直在尋找太),畢竟! -至少,如果您要字符串解析為標準,通過ISO - 8601格式( :db
式)的日期。
如果你想要的日期來分析已在您的本地時區,它真的很容易!
> Time.zone.parse('2009-09-24 08:28:43')
=> Thu, 24 Sep 2009 08:28:43 PDT -07:00
> Time.zone.parse('2009-09-24 08:28:43').class
=> ActiveSupport::TimeWithZone
而時區感知時間可以很容易地轉換為 UTC
> Time.zone.parse('2009-09-24 08:28:43').utc
=> 2009-09-24 15:28:43 UTC
或其他時區:
> ActiveSupport::TimeZone.us_zones.map(&:name)
=> ["Hawaii", "Alaska", "Pacific Time (US & Canada)", "Arizona", "Mountain Time (US & Canada)", "Central Time (US & Canada)", "Eastern Time (US & Canada)", "Indiana (East)"]
> Time.zone.parse('2009-09-24 08:28:43').utc.in_time_zone('Eastern Time (US & Canada)')
=> Thu, 24 Sep 2009 11:28:43 EDT -04:00
如果你想要日期字符串解析是在星期六,另一方面,它看起來並不像有任何方法來分析它直接進入TimeWithZone,但我能夠解決這是第一次使用DateTime.strptime ...
如果你想要的日期是在星期六來分析,你想讓它留為 UTC,可以使用:
> DateTime.strptime('2009-09-24 08:28:43', '%Y-%m-%d %H:%M:%S').to_time
=> 2009-09-24 08:28:43 UTC
如果你想要的日期是在星期六來分析,你希望它轉換為您的默認時區,你可以使用:
> DateTime.strptime('2009-09-24 08:28:43', '%Y-%m-%d %H:%M:%S').to_time.in_time_zone
=> Thu, 24 Sep 2009 01:28:43 PDT -07:00
它看起來像它甚至可以分析其它格式,如奇怪的格式,時間#to_s生產:
irb -> Time.zone.parse('Wed, 23 Sep 2009 02:18:08').to_s(:db)
=> "2009-09-23 09:18:08"
irb -> Time.zone.parse('Wed, 23 Sep 2009 02:18:08 EDT').to_s(:db)
=> "2009-09-23 06:18:08"
我很感動。
下面是一些例子從http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html :
Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)'
Time.zone.local(2007, 2, 10, 15, 30, 45) # => Sat, 10 Feb 2007 15:30:45 EST -05:00
Time.zone.parse('2007-02-01 15:30:45') # => Sat, 10 Feb 2007 15:30:45 EST -05:00
Time.zone.at(1170361845) # => Sat, 10 Feb 2007 15:30:45 EST -05:00
Time.zone.now # => Sun, 18 May 2008 13:07:55 EDT -04:00
Time.utc(2007, 2, 10, 20, 30, 45).in_time_zone # => Sat, 10 Feb 2007 15:30:45 EST -05:00
更多文檔的鏈接以供參考:
- api.rubyonrails.org /班/ ActiveSupport / TimeWithZone.html
-
api.rubyonrails.org /班/ ActiveSupport / TimeZone.html
哎呀! 您的編輯無法提交,是因為:
* sorry, new users can only post a maximum of one hyperlink
嗯,好吧,我想我不會鏈接到這些網址,然後。 我不知道它為什麼認為我是一個“新用戶”之中。
#: 1474238 ruby ruby-on-rails activesupport time parsing User: Tyler Rick
相关推荐
在Rails中,ActiveRecord默认提供了多种验证方法,如`validates_length_of`、`validates_numericality_of`等,但这些方法对日期和时间的处理并不全面。`validates_timeliness` 插件则填补了这一空白,它支持以下功能...
7. `activesupport-2.3.8.gem`:ActiveSupport包含了许多实用的工具类和模块,如日期和时间处理、JSON解析等,广泛用于Rails应用。 8. `actionmailer-2.3.8.gem`:ActionMailer用于发送电子邮件,是Rails中处理邮件...
- **使用日期和时间的表单辅助方法**:说明如何处理日期和时间相关的表单元素。 - **上传文件**:介绍如何处理文件上传操作。 - **定制表单生成器**:解释如何创建自定义的表单生成器。 - **理解参数命名约定**:...
6. **ActiveSupport**:这是Rails的一部分,包含大量实用的工具类和方法,如时间/日期处理、JSON解析和编码等。 7. ** erb模板**:Rails默认的视图模板引擎,允许在HTML中嵌入Ruby代码。 8. **Scaffold**:Rails的...
在上述内容中,还有一些参考资料链接,指向了其他解释 Ruby 日期处理方法的资源。这些链接可能提供了额外的实现方式或者相关知识拓展,但在此我们主要关注上述的代码实现方法。 总结来说,在 Ruby on Rails 中,...
Rails支持日期和时间的本地化,可以在`config/locales`目录下创建语言文件,定义日期格式,以适应不同地区的用户需求。 以上就是Rails日期控件的相关知识点,通过合理利用Rails的辅助方法和自定义样式,可以创建...
在Ruby on Rails开发中,时间与日期的展示是常见的需求,尤其当涉及到用户交互时,为...在实际项目中,结合其他前端库如 Moment.js 或者 Luxon,还能进一步增强时间日期的处理能力,提供更丰富的格式化选项和交互体验。
在Rails中处理日期和时间是常见的需求,尤其在创建表单或者进行数据输入时。标题提到的“Rails 日期控件”就是关于如何在Rails应用中集成和使用日期选择器的一种方法。 Rails本身提供了简单的HTML输入字段来获取...
这通常涉及到对字符串资源进行管理,以及日期和时间格式的调整。 ### 结论 通过上述知识点的学习,我们了解到Rails不仅是一种高效的Web开发框架,而且其强大的设计理念和丰富的功能特性使得开发者能够快速构建出高...
此外,Oracle的日期和时间类型不同于其他数据库,开发者需要理解如何正确地处理这些类型,以免在查询或迁移时出现问题。 RoR的ActiveRecord ORM(对象关系映射)使得在Oracle数据库上操作数据变得简单,但同时也...
12. **ActiveSupport**:包含了一系列通用的 Ruby 工具和实用方法,如时间间隔、日期和时间处理、字符串格式化等。 13. **测试(Testing)**:Rails 提供了全面的测试支持,包括单元测试(Test::Unit)、集成测试...
Rails 3.2的ActiveSupport进一步增强了对日期和时间的支持,并提供了更多的便利方法。 8. **Rails核心**:包括路由、配置、初始化过程等关键功能。Rails 3.2的路由系统更加强大,支持条件路由和命名空间。 通过`...
Rails 2.1增加了对时区的支持,这意味着应用程序可以更好地处理不同地理位置用户的时间显示问题。通过这一特性,开发人员能够确保应用程序中的日期和时间能够准确地反映用户的本地时间设置。 **脏数据追踪(Dirty ...
Ruby的标准库提供了大量预装模块和类,用于文件操作、网络通信、日期和时间处理等各种任务,是Ruby强大功能的基础。 2. `ruby20-core.chm`:可能是关于Ruby 2.0核心库的文档,核心库包含了语言的基本结构和功能,如...
Rails性能优化是一个涉及多个方面的复杂过程,它要求开发者对Ruby on Rails框架的内部机制有深刻的理解,并且能够合理地应用各种技术和工具来提升应用的性能。在性能优化的过程中,首先应该避免盲目优化,而是要通过...
- **日期和时间格式化**:根据不同地区的习惯调整日期和时间的显示方式。 #### 第13章:部署 Rails 应用 当应用程序开发完成后,下一步就是将其部署到生产环境中。本章详细介绍了部署过程中的关键步骤。 - **选择...
Ruby的标准库非常丰富,涵盖网络通信、文件系统操作、正则表达式、日期和时间处理等多个方面。此外,Ruby还有强大的元编程能力,允许在运行时修改和创建代码,这使得Ruby成为构建DSL(领域特定语言)的理想选择。 ...
Ruby还拥有丰富的标准库,包括文件操作、网络通信、日期和时间处理等,这些都通过简单的API供开发者使用。此外,Ruby的错误处理机制采用异常处理,通过`begin-rescue-end`块来捕获和处理运行时可能出现的问题。 接...
7. **标准库和Gem**:Ruby的标准库提供了大量的内置模块和类,覆盖了网络、文件系统操作、日期时间处理等常见任务。此外,Ruby的生态中还有大量的开源库(Gem),通过`gem install`命令可以轻松安装和管理。 8. **...