Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

हर महीने के nवें सप्ताह के दिन दोहराए जाने वाले कार्यक्रम

यहां आपके लिए एक संभावित विकल्प है। strtotime शक्तिशाली है, और सिंटैक्स में वास्तव में उपयोगी बिट्स शामिल हैं जैसे व्यापक सापेक्ष समय और दिनांक शब्दांकन

आप इसका उपयोग "के" प्रारूप का उपयोग करके किसी विशिष्ट महीने के Nth विशिष्ट सप्ताह के दिनों में पहला उत्पन्न करने के लिए कर सकते हैं। यहां date_create का उपयोग करते हुए एक उदाहरण दिया गया है एक DateTime का आह्वान करने के लिए ऑब्जेक्ट, लेकिन नियमित रूप से पुराना strtotime उसी तरह काम करता है:

php > $d = date_create('Last Friday of March 2011'); if($d instanceof DateTime) echo $d->format('l F d Y H:i:s');
Friday March 25 2011 00:00:00
php > $d = date_create('First Friday of March 2011'); if($d instanceof DateTime) echo $d->format('l F d Y H:i:s');
Friday March 04 2011 00:00:00
php > $d = date_create('First Sunday of March 2011'); if($d instanceof DateTime) echo $d->format('l F d Y H:i:s');
Sunday March 06 2011 00:00:00
php > $d = date_create('Fourth Sunday of March 2011'); if($d instanceof DateTime) echo $d->format('l F d Y H:i:s');
Sunday March 27 2011 00:00:00
php > $d = date_create('Last Sunday of March 2011'); if($d instanceof DateTime) echo $d->format('l F d Y H:i:s');
Sunday March 27 2011 00:00:00

यदि आप अमान्य के लिए पूछते हैं, तो यह महीने में भी ओवरफ्लो हो जाएगा:

php > $d = date_create('Ninth Sunday of March 2011'); if($d instanceof DateTime) echo $d->format('l F d Y H:i:s');
Sunday May 01 2011 00:00:00

ध्यान दें कि यह केवल ऑर्डिनल नंबर के साथ काम करता है शब्दांकन आप दुर्भाग्य से "पहला" या "तीसरा" पास नहीं कर सकते।

एक बार जब आप इसका उपयोग उचित Nth कार्यदिवस को हथियाने के लिए करते हैं, तो आप बस आवश्यक कार्यदिवसों की संख्या को स्किप करने के लिए जोड़ सकते हैं (एक सप्ताह के लिए 7, दो के लिए 14, तीन के लिए 21, आदि) जब तक निर्दिष्ट समाप्ति तिथि या निर्दिष्ट संख्या सप्ताह बीत चुके हैं। एक बार फिर, strtotime बचाव के लिए, सापेक्षता को एक साथ जोड़ने के लिए दूसरे तर्क का उपयोग करते हुए:

php > echo date('l F d Y H:i:s', strtotime('+14 days', strtotime('First Thursday of March 2011')));
Thursday March 17 2011 00:00:00

(मेरी स्थानीय प्रति भी स्वीकार की गई '+14 days First Thursday of March 2011' , लेकिन यह थोड़ा अजीब लगा।)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में समान प्राथमिक कुंजी को संदर्भित करने वाली 2 विदेशी कुंजी

  2. mysql रेगेक्स utf-8 वर्ण

  3. Laravel के create_at और update_at . का नाम बदलें

  4. MySQL:लेफ्ट का यूनियन राइट जॉइन के साथ जॉइन करें

  5. मैं विजुअल स्टूडियो 2010 में MySQL 5.1 से कैसे जुड़ूं?