2010-09-03 279 views

回答

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 2010-09-03 08:26:42

+0

好的,編輯我的回答 – 2010-09-03 08:29:40

+0

這就是我寫的,但是我過來fabrik的問題 $ days_in_month = cal_days_in_month(CAL_GREGORIAN,$ month,$ year); – dotty 2010-09-03 08:35:19

1

也許這是可以做到簡單,但你的想法:如果您使用的是PHP

<?php 

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

?> 
4

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

如果我是對的,OP需要兩個時間戳,而不是格式化的日期。 – fabrik 2010-09-03 08:47:21

+0

在getTimestamp中進行編輯,格式就像一個快速粘貼的證明,它可以工作。謝謝 ! – edorian 2010-09-03 09:04:58

相關問題