Получите время и дату, используя выражение cron в golang

0

Вопрос

в настоящее время я ищу решение для иногда сейчас, у меня есть это выражение cron

time := '0 3,10,16,22 * * ?'

и мне нужно проанализировать это на дату и сравнить, чтобы получить результат

моя цель состоит в том, чтобы получить данные о времени из временной переменной и сравнить их, если время не находится между 00:00 и 00:06, оно вернет значение bool false

я понимаю, что для сравнения я могу использовать предложение if, но,

как разобрать это выражение cron и превратить его в решение для даты, пока не найдено. я иногда читаю пакет cron в godoc и пока не нахожу его, может быть, я что-то упускаю?

любое решение или вклад были оценены по достоинству, спасибо!

cron go time
2021-11-24 06:53:39
1

Лучший ответ

0

Вы могли бы воспользоваться пакетомcronexpr Отaptible/supercronic:

import "github.com/aptible/supercronic/cronexpr"
import "time"

nextTime := cronexpr.MustParse("0 3,10,16,22 * * ?").Next(time.Now())

Теперь, когда у вас есть следующий раз, вы можете проверить, будет ли это между 00:00 и 00:06.

2021-11-24 07:09:23

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................