2
使用Ruby如何確定即將到來的星期日是本月的第一個,第二個還是第三個星期天?確定Ruby中的哪個星期天
使用Ruby如何確定即將到來的星期日是本月的第一個,第二個還是第三個星期天?確定Ruby中的哪個星期天
@ElYusubov - 接近但不完全正確。
作爲起點,該部門必須是七(一週中的天數)。但是,time.day會在1到31之間給出一個月份,所以首先您需要在除法之前減去一個,然後再加一個。任何一個月的前八天之時......
Day number (Day# - 1)/7 Week#
---------- -------------- -----
1 0.0 1
2 0.14 1
3 0.29 1
4 0.43 1
5 0.57 1
6 0.71 1
7 0.86 1
8 1 2
無論一天的星期幾time.day給與,每週#指示是否它是第一,第二等某一天的the-周。但你希望星期天來到。
星期六給出了一個工作日 - 0到6,其中0表示星期日。那麼在即將到來的星期天有多少天?嗯,這取決於你的「即將」的定義,但如果你今天排除==星期天,你基本上從7
Weekday today Days until next Sunday
------------- ----------------------
0 (Sun) 7
1 (Mon) 6
2 (Tue) 5
3 (Wed) 4
4 (Thu) 3
5 (Fri) 2
6 (Sat) 1
減去今天平日如果允許「現身」星期日是今天,那麼你做同樣的事情,但用零代替七。您可以執行條件檢查,也可以使用模/餘數運算符。
無論如何,一旦您知道即將到來的星期日將會有多少天,您可以計算出該日期的值(將這些天添加到今天的日期),然後確定該日期的月份中的日期值,而不是今天第一種方法(減1,除以7,加1)。
相關詞彙...
Date.wday 0 to 6 (0 = sunday)
Date.day 1 to 31
我不會嘗試提供的代碼,因爲我不知道紅寶石。
time.day/6.忽略將是你的星期+ 1的分數。 –