gpt4 book ai didi

Ruby:如何获取时间对象中的子午线?

转载 作者:数据小太阳 更新时间:2023-10-29 08:00:47 24 4
gpt4 key购买 nike

如果我有一个时间对象:

t = Time.now

我想知道那个时间是上午还是下午,现在我能想到的唯一方法是:

t.strftime("%p") == "PM"

现在,%p 是从某些东西中插入的,对吧?还有其他方法吗?

我问是因为我正在做一些时间格式化,我想在其中显示时间范围,例如:

"9:00 AM - 5:00 PM"
"4:00 - 5:30 PM"
"10:15 - 11:45 AM"

现在我必须检查 strftime 的字符串值,但我更愿意这样写:

if start_time.am? && end_time.pm? || start_time.pm? && end_time.am?

...而不是我现在正在做的更冗长的 strftime 字符串比较。

最佳答案

基于 http://www.ruby-doc.org/core-1.9.3/Time.html ,我不相信还有其他办法。但是,您可以猴子修补 Time 来节省一些乏味的 strftime:

class Time
def meridian
self.strftime('%p')
end

def am?
self.meridian == 'AM'
end

def pm?
self.meridian == 'PM'
end
end

关于Ruby:如何获取时间对象中的子午线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13961301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com