PHP

2010-02-21 5 views
10

में वर्तमान दिन का दिन प्राप्त करना मैं वर्तमान दिनांक की तारीख php में प्राप्त करना चाहता हूं। मैं क्या करने की कोशिश की यहाँ है ...PHP

echo $x."<br>"; 
echo date("D",$x)."<br>"; 

लेकिन उत्पादन

21-02-10 
Thu 

यह सही दिनांक नहीं बल्कि सही दिन value.Why दे रहा है था ..?

मुझे जो दिन चाहिए वह वर्तमान सप्ताह के लिए सोमवार की तारीख है जिसे सप्ताह के किसी भी दिन उत्पन्न किया जा सकता है। तो क्या मैंने किया था, मैं आज के दिन ले रहे हैं और (सोम, मंगल .... सूर्य) के साथ तुलना और क्रमश: एक टाइमस्टैम्प

case "Mon": 

$startdate1=date("d-m-y"); 
$parts = explode('-',$startdate1); 
$startdate2 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+1),$parts[2])); 
$startdate3 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+2),$parts[2])); 
$startdate4 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+3),$parts[2])); 
$startdate5 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+4),$parts[2])); 
$startdate6 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+5),$parts[2])); 
$startdate7 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+6),$parts[2])); 

$dates=array(1 => $startdate1,$startdate2,$startdate3,$startdate4,$startdate5,$startdate6,$startdate7); 
$i=1; 
while($i <= 7) 
{ 
echo $dates[$i]; 
$i++; 
} 
break; 

$ दिनांक का उपयोग कर बना रहा हूं अंतिम सरणी की आज है करने के लिए संबंधित है लौट आया हेागा। क्या इस ऑपरेशन को करने के लिए कोई और बेहतर तरीका है।

उत्तर

2

क्या मैं ('डी-एम-वाई') तिथि समारोह में है, जो समस्या पैदा कर रहा था के बजाय यह दिनांक स्वरूप ('डी-एम-वाई') प्रयोग किया जाता है को हल करने से किया था।इसलिए strtotime प्रारूप को स्वीकार किया और के लिए

$t=date('d-m-Y'); 
echo date("D",strtotime($t)); 
0

आप संभावना टाइमस्टैम्प के रूप में एक स्ट्रिंग से गुजर रहे हैं

echo $x."<br>"; 
echo date("D",$x)."<br>"; 

$x निकालें और इसे सही दिन उत्पादन होगा या

$x = '21-02-2010'; 
echo date('D', strtotime($x)); 
+0

अभी भी आउटपुट $ x = '21 -02-2010 'के लिए Thu है; –

+0

हाँ इस बार सही मिला ... :) धन्यवाद –

2

मैं क्या करने की कोशिश की यहाँ है ...

के लिए इसे बदल

echo date("D",$x)."<br>";

date दूसरे पैरामीटर के रूप में टाइमस्टैंप (int) मान की अपेक्षा करता है। आपका $x एक स्ट्रिंग है जिसमें अस्पष्ट दिनांक प्रारूप होता है। strptime या strtotime का उपयोग करके उस दिनांक को पहले टाइमस्टैम्प में कनवर्ट करें और सही दिन मूल्य प्राप्त करने के लिए date फ़ंक्शन सही तरीके से उपयोग करें।

अपने दूसरे भाग के बारे में, आप (और नहीं होना चाहिए) की जरूरत नहीं है दिन के नाम की जांच सही सोमवार, मंगलवार आदि एक अधिक कुशल दृष्टिकोण उदाहरणstrtotime का उपयोग कर last Monday पाने के लिए आदि के लिए है की गणना करने के

+0

गूंज दिनांक ("डी", स्ट्रेटोटाइम ($ x, 1))। "
"; यह भी सही उत्तर नहीं दे रहा है। –

+0

हाँ इस बार सही मिला है ... :) धन्यवाद –

4

कैसे इस बारे में:

//today is monday 
if (1 == date('N')){ 
    $monday = time(); 
}else{ 
    $monday = strtotime('last Monday'); 
} 

for ($i = 0; $i < 7; $i++){ 
    echo date('d-m-Y', $monday) . '<br>'; 
    $monday = strtotime('tomorrow', $monday); 
} 

प्रथम खोजने सोमवार, अगर यह आज नहीं है, तो 7 दिनांकों

+0

अगर (1 == दिनांक ('एन')) इस पंक्ति में 'एन' क्या है ... क्या आप मुझे थोड़ा और कोड समझा सकते हैं .. ।? –

+0

एन सप्ताह के दिन के लिए संख्यात्मक प्रतिनिधित्व है। Http://uk2.php.net/manual/en/function.date.php –

+0

http://php.net/manual/en/function.date.php –

3

Wh प्रिंट मुझे लगता है कि दिन सप्ताह के लिए सोमवार की तारीख है जो सप्ताह के किसी भी दिन उत्पन्न हो सकती है।

यही वही है जो आप चाहते हैं। $mday इस सप्ताह के सोमवार का महीना दिन है। अगर यह सकारात्मक नहीं है, तो mktime सही नहीं होगा। $monday में सोमवार की आधी रात का टाइमस्टैम्प है।

$now = getdate(); 
$mday = $now['mday'] - ($now['wday'] + 6) % 7; 
$monday = mktime(0, 0, 0, $now['mon'], $mday, $now['year']); 
echo(date('d-m-y', $monday)); 
+0

देखें पिछले सोमवार को खोजने के लिए कड़ी मेहनत की तरह लगता है :) –

+1

इसके अलावा यह कभी अस्तित्व में नहीं हो सकता: http://www.last-thursday.org/ – codeholic

11

सही परिणाम मैं इस कोशिश की वर्तमान दिन पाने के लिए दे दी है।

echo date('l'); // output: current day. 
+0

धन्यवाद .. बिल्कुल सही जवाब .. – VishalParkash

0

मैं इसे 'डी' है कि वर्तमान दिन के लिए refere के लिए समारोह की तारीख और पथ का उपयोग, और यह मेरे साथ काम करता है

$today = date("D"); 

और आज की तारीख के बारे में पूरी जानकारी प्राप्त करने के

$today = date("D M j G:i:s T Y");    // Sat Mar 10 17:16:18 MST 2001 
संबंधित मुद्दे