2010-08-27 9 views
7
$addhr = time() + (1 * 13 * 60 * 60); 
$curDateTimeMil= date("Y-m-d G:i:s",$addhr); 
echo $curDateTimeMil; 

यह 2010-08-27 16:21:31 को प्रतिबिंबित करेगा।2 सप्ताह में PHP में दिनांक प्राप्त करें

मुझे 2 सप्ताह के बाद तिथि कैसे मिल सकती है? (10 सितंबर)

+4

, आप क्या उम्मीद की थी '1 * 13 * 60 * 60' करता है? – deceze

+0

[PHP दिनांक() दस्तावेज़ीकरण में एक उदाहरण भी है (http://php.net/manual/en/function.date.php) इसे कैसे प्राप्त करें। उदाहरण # 3 पढ़ें। लेकिन स्ट्रेटोटाइम एक ठोस समाधान होगा (@ जेन्सग्राम)। – hellozimi

उत्तर

22
$dateInTwoWeeks = strtotime('+2 weeks'); 

strtotime() देखें।


अद्यतन # 1: हाँ, यह यह करने के लिए आलसी तरीका है। हालांकि, मुझे विश्वास है कि संभव नकारात्मक प्रदर्शन प्रभाव कोड की पठनीयता/समझ पर सकारात्मक प्रभाव से गिना जाता है। प्रदर्शन को एक मुद्दा होना चाहिए, कोई देशी (पूर्णांक-आधारित) समय में हेरफेर (और टिप्पणियां जोड़ सकता है) पर स्विच कर सकता है।


अद्यतन # 2: वैकल्पिक दूसरा तर्क संदर्भ तारीख है। उदा .:

strtotime('+2 weeks', mktime(0, 0, 0, 2, 8, 1984)); // 8th Feb. 1984 + 2 weeks 
+0

2 सप्ताह में तारीख प्राप्त करने से पहले मैं आरंभ तिथि कैसे निर्दिष्ट कर सकता हूं? – anonymous123

+4

अपने पिछले कुछ प्रश्नों के उत्तर स्वीकार करके :-) या दस्तावेज़ीकरण पढ़ना। या 'समय()' का उपयोग कर। – fredley

+0

@ अनाम 123 अद्यतन # 2 देखें। – jensgram

5

आप (जहां की गणना करने के से) शुरू करने के लिए समय mktime() का उपयोग कर निर्दिष्ट कर सकते हैं।

उदाहरण: (यानी +14 दिन) दो सप्ताह 10 सितंबर, 2010 के बाद:

$date = date("Y-m-d", mktime(0, 0, 0, 9, 10 + 14, 2010); 

आज से दो सप्ताह बाद (+14 दिन) का सिर्फ DATE (नहीं समय) प्राप्त करने के लिए:

$date = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+14, date("Y"))); 

और यह अब से दो सप्ताह बाद (+14 दिन) के समय के साथ देता है: आप बस tw की संख्या सेकंड जोड़ सकता है

$date = date("Y-m-d G:i:s", mktime(date("G"), date("i"), date("s"), date("m"), date("d")+14, date("Y"))); 
2

ओ सप्ताह:

2 weeks = 2 · 7 days = 14 days 
     = 14 · 24 hours = 336 hours 
     = 336 · 60 minutes = 20160 minutes 
     = 20160 · 60 seconds = 1209600 seconds 

तो:

$curDateTimeMil += 1209600; 
// or 
$curDateTimeMil += 2 * 7 * 24 * 60 * 60; 
जिज्ञासा से बाहर
+0

छोटी सी चेतावनी के साथ कि आप सही दिन याद कर सकते हैं यदि आप डेलाइट बचत स्विचओवर या दूसरे छलांग में गिरने के लिए पर्याप्त भाग्यशाली हैं ... :) – deceze

+1

@deceze: यह समय के साथ कोई मुद्दा नहीं है लेकिन इसके प्रतिनिधित्व के साथ पहर। – Gumbo

संबंधित मुद्दे