Ruby on Rails中如何保留并改写默认时区为长尾词?

2026-04-11 18:281阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计419个文字,预计阅读时间需要2分钟。

Ruby on Rails中如何保留并改写默认时区为长尾词?

如果您有一个来自客户端的Wed, 22 Jun 2011 09:43:58 0200格式的日期时间字符串,希望保存时区信息,非常重要。这不仅是因为它包含相对于UTC的绝对时间,还因为它包含了时区信息。使用`Time.zone.parse(t)`可以将时间字符串转换为`Time.zone`格式的正确时间。

如果我有一个来自客户的“Wed,22 Jun 2011 09:43:58 0200”形式的时间字符串,我希望保存时区.这很重要,因为重要的不仅是绝对的UTC时间,还有时区.

Time.zone.parse(t)会将时间转换为Time.zone当时正在使用的区域,从而丢失源时区.

Ruby on Rails中如何保留并改写默认时区为长尾词?

我是否必须从上面的字符串中手动提取时区,或者是否有惯用的方法来执行此操作?

DateTime字段只能存储’YYYY-MM-DD HH:MM:SS'( MySQL),没有时区信息.

您应该将日期时间存储在UTC中,将时区存储在不同的字段中,最好是一个整数,指定与UTC的偏移量(以分钟为单位).

您可以像这样提取偏移量:

ruby-1.9.2-p180:001:0>> require 'active_support/all' # included by Rails by default # => true ruby-1.9.2-p180:002:0>> dt = DateTime.parse "Wed, 22 Jun 2011 09:43:58 +0200" # => Wed, 22 Jun 2011 09:43:58 +0200 ruby-1.9.2-p180:003:0>> dt.utc_offset # => 7200 ruby-1.9.2-p180:004:0>> dt.utc # => Wed, 22 Jun 2011 07:43:58 +0000

编辑:

练习往返

ruby-1.9.2-p180 :039 > u.utc.new_offset(u.offset) => Wed, 22 Jun 2011 09:43:58 +0500 ruby-1.9.2-p180 :040 > u => Wed, 22 Jun 2011 09:43:58 +0500

标签:时区

本文共计419个文字,预计阅读时间需要2分钟。

Ruby on Rails中如何保留并改写默认时区为长尾词?

如果您有一个来自客户端的Wed, 22 Jun 2011 09:43:58 0200格式的日期时间字符串,希望保存时区信息,非常重要。这不仅是因为它包含相对于UTC的绝对时间,还因为它包含了时区信息。使用`Time.zone.parse(t)`可以将时间字符串转换为`Time.zone`格式的正确时间。

如果我有一个来自客户的“Wed,22 Jun 2011 09:43:58 0200”形式的时间字符串,我希望保存时区.这很重要,因为重要的不仅是绝对的UTC时间,还有时区.

Time.zone.parse(t)会将时间转换为Time.zone当时正在使用的区域,从而丢失源时区.

Ruby on Rails中如何保留并改写默认时区为长尾词?

我是否必须从上面的字符串中手动提取时区,或者是否有惯用的方法来执行此操作?

DateTime字段只能存储’YYYY-MM-DD HH:MM:SS'( MySQL),没有时区信息.

您应该将日期时间存储在UTC中,将时区存储在不同的字段中,最好是一个整数,指定与UTC的偏移量(以分钟为单位).

您可以像这样提取偏移量:

ruby-1.9.2-p180:001:0>> require 'active_support/all' # included by Rails by default # => true ruby-1.9.2-p180:002:0>> dt = DateTime.parse "Wed, 22 Jun 2011 09:43:58 +0200" # => Wed, 22 Jun 2011 09:43:58 +0200 ruby-1.9.2-p180:003:0>> dt.utc_offset # => 7200 ruby-1.9.2-p180:004:0>> dt.utc # => Wed, 22 Jun 2011 07:43:58 +0000

编辑:

练习往返

ruby-1.9.2-p180 :039 > u.utc.new_offset(u.offset) => Wed, 22 Jun 2011 09:43:58 +0500 ruby-1.9.2-p180 :040 > u => Wed, 22 Jun 2011 09:43:58 +0500

标签:时区