Преобразовать выражение cron в красивые строки описания? Есть ли библиотека для JAVA и Objective-C?

Я ищу парсер, который преобразует выражение cron как 45 17 7 6 * * Каждый год, 7 июня в 17:45. Парсер должен быть настроен на другие языки. Немецкий за первый шаг.

Есть ли библиотека для

  • Android-проект на основе JAVA
  • Проект Iphone на базе Objective-C.

Смотрите здесь для использования.

3 ответа

cronTrigger.getExpressionSummary()

Пример:

    CronTrigger t = new CronTrigger();
    t.setCronExpression("0 30 10-13 ? * WED,FRI");
    System.out.println(""+t.getExpressionSummary());

Выход:

seconds: 0
minutes: 30
hours: 10,11,12,13
daysOfMonth: ?
months: *
daysOfWeek: 4,6
lastdayOfWeek: false
nearestWeekday: false
NthDayOfWeek: 0
lastdayOfMonth: false
years: *

Вы можете найти cron-utils полезными для этой задачи, поскольку предоставляет удобочитаемые описания на разных языках и не требует полноценного планировщика для их предоставления. Поддерживает несколько форматов cron. Ниже приведен фрагмент кода из документов:

//create a descriptor for a specific Locale
CronDescriptor descriptor = CronDescriptor.instance(Locale.UK);

//parse some expression and ask descriptor for description
String description = descriptor.describe(parser.parse("*/45 * * * * *"));
//description will be: "every 45 seconds"

В Java загляните в cron4j http://www.sauronsoftware.it/projects/cron4j/

Вы найдете анализатор, который вам нужен, но затем вы должны написать свой код, чтобы вывести строку, как вам нужно. Начните с создания объекта SchedulingPattern:

new SchedulingPattern("0 30 10-13 ? * 1,2,5")
Другие вопросы по тегам