2010-12-06 21 views
7

से दिनांक प्राप्त करने के लिए कोई जावा क्लास है, मुझे दिए गए क्रॉन अभिव्यक्ति द्वारा प्रस्तुत दिनांक और समय की पहली घटना को जानने की आवश्यकता है। क्या कोई जावा क्लास, उपयोगिता कोड है जो दिए गए क्रॉन अभिव्यक्ति से डेटा ऑब्जेक्ट प्राप्त करने में मदद कर सकता है?क्रॉन अभिव्यक्ति

उत्तर

14

आप देख सकते हैं org.quartz.CronExpression यह एक विधि getNextValidTimeAfter नामित आप उपयोग कर सकते है जो।

+0

धन्यवाद सौगत के लिए के http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html पर लाभ उठा सकते हैं, यह मदद की है और समस्या हल हो :) – Unicorn

5

आप आप वसंत उपयोग कर रहे हैं इस्तेमाल कर सकते हैं:

CronTrigger trigger = new CronTrigger(cron); 
TriggerContext context = new TriggerContext() { 

public Date lastScheduledExecutionTime() { 
    return null; 
} 

public Date lastActualExecutionTime() { 
    return null; 
} 

public Date lastCompletionTime() { 
    return null; 
} 
}; 
return trigger.nextExecutionTime(context); 
5

यहाँ क्वार्ट्ज के CronExpression के लिए एक विकल्प के समान है लेकिन अपने प्रोजेक्ट में कोई पूरी तरह से विकसित अनुसूचक जोड़े बिना: cron-utils

आप प्राप्त कर सकते हैं जिस तारीख को आपको निम्नलिखित की आवश्यकता है:

//Get date for next execution 
DateTime now = DateTime.now(); 
CronDefinition cronDefinition = CronDefinitionBuilder.instanceDefinitionFor(QUARTZ); 
CronParser parser = new CronParser(cronDefinition); 
ExecutionTime executionTime = ExecutionTime.forCron(parser.parse("* * * * * * *")); 
DateTime nextExecution = executionTime.nextExecution(now)); 

आधिकारिक विवरण के अनुसार, cron-utils है:

एक जावा पुस्तकालय पार्स, मान्य, क्रॉन माइग्रेट करने के साथ-साथ उनके लिए मानव पठनीय विवरण प्राप्त करने के लिए। परियोजना अर्थपूर्ण संस्करण सम्मेलन का पालन करती है और अपाचे 2.0 लाइसेंस का उपयोग करती है।

1

तुम भी वसंत इस

CronSequenceGenerator generator = new CronSequenceGenerator(cronExpression); 
Date nextRunDate= generator.next(new Date()); 
संबंधित मुद्दे