2015-05-06 55 views
0

我正在循環當前月份的日子,我想顯示當前月份的平日,但我不知道。動態顯示一個月的日期名稱 - PHP

//showing the days number of the current month 
$currentDays = date('d'); 
for($i=1;$i<=$currentDays;$i++) 
{ 
    //print the day number 
    echo $i.'\n'; 
} 
+0

請詳細說明,並表明我們相關 – mattfryercom

+0

什麼是對象/數據類型,你是通過迭代的代碼? –

+0

我想在顯示天數後顯示天數名稱 - 宇智波 –

回答

0

您可以使用strtotime來獲取特定日期的時間戳,然後與獲取星期名稱。

$days = date('d'); 
$month = date('n'); 

for ($day = 1; $day <= $days; $day++) 
    echo $day, ' is ', date('l', strtotime($month . '/' . $day)), '\n'; 

要爲翻譯得到不同的工作日名稱凡,你必須建立自己的陣列,並通過改變小寫的L爲小寫字母W,這將返回一個整數平日從那裏得到它通過。

$weekdays = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); 
$days = date('d'); 
$month = date('n'); 

for ($day = 1; $day <= $days; $day++) 
    echo $day, ' is ', $weekdays[ date('w', strtotime($month . '/' . $day)) ], '\n'; 

請記住,您在days-variable中使用了小寫字母D,這意味着它只會計算直到今天的日子。您可以使用小寫字母T遍歷指定月份的所有日期。

另一種方法是使用mktime,如another answer所示與此問題相關。

此外,您可以簡單地將set the locale設置爲您的選擇,並將strftime設置爲星期幾名稱(%A),而不是您自己定義星期幾名稱。

+0

謝謝它的工作原理 –

-1

<?php 
 
$current_month = date("M"); 
 
$first_day_this_month = date('01'); 
 
$last_day_this_month = date('t'); 
 
$st_result = ''; 
 
for($i=$first_day_this_month; $i<=$last_day_this_month; $i++){ 
 
    $day = ''; 
 
\t $day = date("l", mktime(0, 0, 0, 5, $i, 2015)); 
 
    if($day == 'Saturday' || $day == 'Sunday'){continue;} 
 
\t else{$st_result = $st_result .','.$i;} 
 
} 
 
echo $st_result ; 
 
?>

+0

這個答案似乎不起作用,老實說,這段代碼做了太多不必要的事情來達到最終結果。 – ascx