阅读更多

4顶
0踩

编程语言
支持Rails软件的time-zone插件不只一个,现在Rails自己已经提供方式来解决timezones问题,虽然依然基于tzinfo gem。

下面是具体方法。设置Time.zone的变量为本地timezone,以后所有时间都会自动处理映射为本地时间,并存储为UTC进入数据库。

# Set the local time zone
Time.zone = "Pacific Time (US & Canada)"

# All times will now reflect the local time
article = Article.find(:first)
article.published_at #=> Wed, 30 Jan 2008 2:21:09 PST -08:00

# Setting new times in UTC will also be reflected in local time
article.published_at = Time.utc(2008, 1, 1, 0)
article.published_at  #=> Mon, 31 Dec 2007 16:00:00 PST -08:00


在rails应用中真正使用,可以增加:

class ApplicationController < ActionController::Base

  before_filter :set_timezone

  def set_timezone
    # current_user.time_zone #=> 'London'
    Time.zone = current_user.time_zone
  end
end


这样你的controller actions 和 views 能够应用用户自己的timezone。

当然可以设置缺省的timezone:

Rails::Initializer.run do |config|
  config.time_zone = "Hawaii"
end


获得当前时间是:

# Instead of Time.now
Time.zone.now


Rails2.1中的新东西之六:UTC-based Migration

Rails2.1中的新东西之五:具有has_finder功能的named_scope

Rails2.1中的新东西之四: Partial Updates

Rails2.1中的新东西之三: Dirty Objects

Rails2.1中的新东西之二: Gem Dependencies

Rails2.1中的新东西之一: has-one-through
来自: ryandaigle.com
4
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java技术、Java规范与Java知识产权 (转载)

    转载注: 最近Oracle起诉Google关于Android侵犯专利的事情,中文读者可以参考邵正强(Jason Shao) 2009年的一篇>。 就这个问题解释得很清楚。完全遵守Java规范就可以免费使用;没有完全遵守,只部分使用规范,那JCP组织成员都有

  • will paginate 样式

    还有一个问题也和DreamHost的共享主机机制有关,也就是安装自己的gems比较麻烦,所以目前我采用的都是把需要的gems放到 vender/plugins 目录下的办法,这个只需要使用下面的命令就可以了: cd vendor / plugin gem ...

  • Rest_framework框架的基本组件

    'as the result will be cached and reused between requests. ' 'Use `.all()` or call `.get_queryset()` instead.' ) cls.queryset._fetch_all = force_evaluation view = super(APIView, cls).as_view(**...

  • 解决easyswoole2.X使用mysqliDb 出错的小结

    在使用easyswoole做项目的时候,使用mysqliDb作为数据库操作,一开始我是按照文档的方法安装了mysqliDb,如下图。 但是当我按照文档写的操作一遍后,却出问题了。先附上的php代码: 这是配置数据库的代码:...

  • Rails中多重子表多条件查询

    在项目config/initializers路径下新建一个rb文件,比如paginate_on_array.rb,内容如下: require 'will_paginate/array' 再重试以下发现还是出错,原来需要重启rails服务器,重启之后搜索功能就完成了 ;)

  • 检索数据不能检索了_数据检索和清理:跟踪迁移模式

    可能会有业余爱好者在个人网站,论坛或其他渠道上托管自己的数据,但是业余数据集通常容易出错并且包含丢失的数据。 相反,我们应该寻找在政府或大学网站上托管的更专业的数据集。 Googling the keywords “bird ...

  • rails 运行出错 版本错乱 部分更新

    sprockets-2.2.2, subexec-0.2.2, thor-0.17.0, tilt-1.3.4, treetop-1.4.12, turbo-sprockets-rails3-0.3.2, tzinfo-0.3.36, uglifier-1.3.0, unicorn-4.6.2, warden-1.2.1, will_paginate-3.0.4] (Gem::LoadError...

  • Linux下redmine的部署与搭建

    2 环境的安装及配置 此部分描述了redmine服务器的部署...在配置环境的过程中,最好按照如下的顺序进行,避免由于软件之间的依赖关系而出错。 假设以下的安装程序放在/home/work/tools文件夹下。 2.1 安装apache

  • access aws account and try boto3 总结

    echo %HOMEPATH% cd .aws .aws&gt;dir then you will see config(存放region和output(可以是json)信息) and credencials(存放keys信息) 2 files, check them: .aws&gt;type config .aws&gt;type credentials 和 resource...

  • rails tips

    MRP启动之后,上次介绍了Phase I的完成情况,之后很久都没什么时间去折腾,最多是零零散散的更新几行代码——事实上对于大部分页面来说,也就几行代码就行了——直到开始实现查询部分的功能,这个有点麻烦,这次趁着...

  • Django generics view 以及看源码为什么这么重要

    关于阅读代码 我们知道,得益于python的语言特性,python的源码是直接可以看的到的,而django是一种大而全的东东,虽然django的文档看似全面,但实际上有些模块写的确实不怎么样,...当然我们可以用google或者做git...

  • Python计算机视觉:第九章 图像分割

    区域可以是图像的前景与背景或者单个对象。这些区域可以利用诸如颜色、边线或近邻相似性等特征构建。本章中,我们将看到一些不同的分割技术。 from pygraph.classes.digraph import digraph from ...

  • 诗歌rails之rails tips

    MRP启动之后,上次介绍了Phase I的完成情况,之后很久都没什么时间去折腾,最多是零零散散的更新几行代码——事实上对于大部分页面来说,也就几行代码就行了——直到开始实现查询部分的功能,这个有点麻烦,这次趁着...

  • 【Flask】Flask开发实战:个人博客(二)

    这个分页导航部件应该包含上一页、下一页以及跳转到每一页的按钮,每个按钮都包含指向主页的 URL,而且 URL 中都添加了对应的查询参数 page 的值。使用 paginate 方法时,它会返回一个 Pagination 类对象,这个类...

  • [译]Flask Framework Cookbook-第四章 视图的使用

    这个应用可以是一个新的,空的或者任何复杂的应用。我们需要做的是理解这一小节列出的方法。 怎么做 下面是三种最常用的方法来处理各种各样的请求,用简单的例子说明一下。 # A simple GET request @app....

  • rails2 升级到 rails3 过程详细记录

     gem "will_paginate", "~&gt; 3.0.4" 3.运行rails3工程,查找语法问题 ■Ruby 1.8.7 -&gt; Ruby 1.9.3带来的修改点 1)所有含有英文以外字符的.rb文件,第一行追加 # -*- encoding : utf-8 -*- ...

  • 【二】jekyll 的使用

    :(注意冒号后面至少要空一个空格,不然会出错) 通过这个可以设置一些变量(甚至可以自定义变量),比如title --- layout: post title: Blogging Like a Hacker --- 设置好变量以后,你就可以在...

  • ta-lib-0.5.1-cp312-cp312-win32.whl

    ta_lib-0.5.1-cp312-cp312-win32.whl

  • 在线实时的斗兽棋游戏,时间赶,粗暴的使用jQuery + websoket 实现实时H5对战游戏 + java.zip课程设计

    课程设计 在线实时的斗兽棋游戏,时间赶,粗暴的使用jQuery + websoket 实现实时H5对战游戏 + java.zip课程设计

  • ta-lib-0.5.1-cp310-cp310-win-amd64.whl

    ta_lib-0.5.1-cp310-cp310-win_amd64.whl

Global site tag (gtag.js) - Google Analytics