首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 3:如何比较Datetime。

Rails 3:如何比较Datetime。
EN

Stack Overflow用户
提问于 2012-12-20 12:56:06
回答 3查看 157关注 0票数 0

在我的Rails应用程序中,我有一个用户模型、部门模型、组模型和一个注册model.User模型,其中包含基本的用户信息,

用户模型:

代码语言:javascript
运行
复制
id , name
has_and_belongs_to_many :departments , :groups

部门模型:

代码语言:javascript
运行
复制
id,name
has_and_belongs_to_many :users
has_many :registers

组模型:

代码语言:javascript
运行
复制
id,name
has_and_belongs_to_many :users
has_many :registers

注册模型:

代码语言:javascript
运行
复制
date ,department_id , group_id , one , two , three
belongs_to :department ,:group

在注册模型“一”、“二”、“三”中,时隙表示: 9-12、12-3、3-6。每天,每个用户都必须标记出勤,以便他们的出勤必须与注册表中的时间段相对照。如何使用时间段根据当前时间标记考勤。

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-20 13:53:42

您可能需要这样做

代码语言:javascript
运行
复制
current_time = Time.now
if (9..11).include?(current_time.hour)
# Do A
elsif (12..14).include?(current_time.hour)
# Do B
elsif (15..18).include?(current_time.hour)
# Do C
end

(或)

代码语言:javascript
运行
复制
current_time = Time.now
if (9...12).include?(current_time.hour)
# Do A
elsif (12...15).include?(current_time.hour)
# Do B
elsif (15...18).include?(current_time.hour)
# Do C
end
# I think of the extra "." as 'eating' the last value so you don't have it.

来处理重叠部分

票数 1
EN

Stack Overflow用户

发布于 2012-12-20 13:29:08

尝尝这个

代码语言:javascript
运行
复制
current_time = Time.now
if (9..12).include?(current_time.hour)
# 9-12
elsif (12..15).include?(current_time.hour)
# 12-3
elsif (15..18).include?(current_time.hour)
# 3-6
end
票数 1
EN

Stack Overflow用户

发布于 2012-12-20 13:20:38

可以考虑创建一个位图。32位整数是轻量级的,它给你0-24,每小时一个。写一些函数,可以比较,设置,...小时范围。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13965563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档