2010-09-03 10 views
9

में शुरुआत और समाप्ति यूनिक्स टाइमस्टैम्प प्राप्त करें, मैं एक महीने में पहले दिन के लिए टाइमस्टैम्प ढूंढना चाहता हूं (1 सितंबर 2010 और 0:00 कहें) और एक महीने में अंतिम दिन (कहना सितंबर 31 23:59)।किसी दिए गए महीने और वर्ष के लिए php

उत्तर

17

यदि आपके पास स्ट्रिंग्स के रूप में उन तिथियां हैं तो आप केवल strtotime() का उपयोग कर सकते हैं, यदि आपके पास केवल आंशिक जानकारी है तो आप mktime() का उपयोग कर सकते हैं।

हालांकि, सितंबर केवल 30 दिन है;)

उदाहरण:

$month = 9; 
$year = 2010; 

$first = mktime(0,0,0,$month,1,$year); 
echo date('r', $first); 

$last = mktime(23,59,00,$month+1,0,$year); 
echo date('r', $last); 
+0

मेरे पास ये स्ट्रिंग नहीं हैं, क्वेरीस्ट्रिंग के माध्यम से पारित 2 पैरा महीने और वर्ष है। वहां से मुझे पहले और आखिरी टाइमस्टैम्प पर काम करने की ज़रूरत है। – dotty

+0

ठीक है, मेरे उत्तर को संपादित किया गया –

+0

इस प्रकार मैंने इसे लिखा है, हालांकि मैं $ days_in_month = cal_days_in_month (CAL_GREGORIAN, $ माह, $ वर्ष) के साथ fabrik की समस्या आती हूं; – dotty

1

शायद यह सरल किया जा सकता है, लेकिन आप अंदाजा हो:

<?php 

$start = mktime(0, 0, 1, $month, 1, $year); 
$end = mktime(23, 59, 00, $month, date('t', $month), $year); 

?> 
4

आप PHP उपयोग कर रहे हैं 5.3 (5.2 के साथ यह कोशिश न करें, तारीख पार्सर अलग-अलग काम करता है) आप बोलने के लिए कह सकते हैं:

<?php 

$date = "2010-05-10 00:00:00"; 

$x = new DateTime($date); 

$x->modify("last day of this month"); 
$x->modify("last second"); 

echo $x->format("Y-m-d H:i:s"); 
// 2010-05-30 23:59:59 
$timestamp = $x->getTimestamp(); 
+1

ओपी को दो टाइमस्टैम्प की आवश्यकता है यदि मैं सही हूं तो स्वरूपित दिनांक नहीं। – fabrik

+0

getTimestamp में संपादित, प्रारूप एक त्वरित पेस्टेबल सबूत के रूप में था जो यह काम करता है। धन्यवाद ! – edorian

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