hour.js 798 B

1234567891011121314151617181920212223242526
  1. import {timeInterval} from "./interval.js";
  2. import {durationHour, durationMinute, durationSecond} from "./duration.js";
  3. export const timeHour = timeInterval((date) => {
  4. date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);
  5. }, (date, step) => {
  6. date.setTime(+date + step * durationHour);
  7. }, (start, end) => {
  8. return (end - start) / durationHour;
  9. }, (date) => {
  10. return date.getHours();
  11. });
  12. export const timeHours = timeHour.range;
  13. export const utcHour = timeInterval((date) => {
  14. date.setUTCMinutes(0, 0, 0);
  15. }, (date, step) => {
  16. date.setTime(+date + step * durationHour);
  17. }, (start, end) => {
  18. return (end - start) / durationHour;
  19. }, (date) => {
  20. return date.getUTCHours();
  21. });
  22. export const utcHours = utcHour.range;