为时钟应用程序 M 创建时间模式

Creating time modes for clock application M

所以对于这个应用程序,我想创建一个具有四种模式的时钟。

  1. 营业时间:当地时间9:00am – 5:59pm
  2. 业务加班:当地时间6:00pm – 7:59pm
  3. 人时:当地时间:8:00am – 8:59am, 8:00pm – 10:59pm
  4. 睡眠时间:当地时间:11:00pm – 7:59am

因此根据时间,时钟的图标会在每次达到特定模式时发生变化。

例如,营业时间的颜色图标为红色,而营业加班时间的图标颜色为黄色。当时间到达上午 9 点时,时钟上的图标将变为红色图标。然后如果时间变为下午 6 点,图标颜色将变为黄色。

也许只有我一个人,但我还没有找到任何好的教程或网站来帮助解释如何创建这样的模式。请帮忙。或者将我重定向到 link,我可以在其中设置此模式,那就太好了。

它不必自动更新。

谢谢。

这听起来像是一个简单的条件句:

time = Time.current # or Time.now, if you're not using Rails

if time.hour >= 9 && time.hour < 18
  'business'
elsif time.hour >= 18 && time.hour < 20
  'overtime'
elsif (time.hour >= 8 && time.hour < 9) || (time.hour >= 20 && time.hour < 23)
  'person'
else
  'sleeping'
end

如果您愿意,可以改用范围(请注意,... 可用于包含初始元素但不包含最后一个元素的范围,因此 18...2018..19 基本相同——但我认为在这种情况下,最终独占范围更清晰):

time = Time.current # or Time.now, if you're not using Rails

if (9...18).include?(time.hour)
  'business'
elsif (18...20).include?(time.hour)
  'overtime'
elsif time.hour == 8 || (20...23).include?(time.hour)
  'person'
else
  'sleeping'
end

这是否解决了您的问题?