2015-02-09 133 views
0

如何將月份本地名轉換爲相應月份號?PHP:將本地月份名轉換爲月份號

您可以手動進行翻譯,但我很確定PHP有一些內置的函數爲此?

$monthname = "februar"; // norwegian name for february 
$monthnumber = insertCorrectFunctionHere($monthname); 

的目標是$monthnumber成爲「2」在這裏(或「02」),因爲二月是第二個月份。

+0

正確設置區域設置爲挪威;使用[strptime](http://www.php.net/manual/en/function.strptime.php)從'1-Februar-2015'獲取一個數組,然後讀取該數組的tm_mon的值,加1到那個價值 – 2015-02-09 13:09:51

+0

@Kristian Rafteseth看看我的回答,我認爲它回答你的問題 – 2015-02-09 13:19:55

回答

0

嘗試這樣

$date = '1 February'; 
$month= date('m', strtotime($date)); 
echo $month; 
+0

@Kristian Rafteseth這應該工作::) – Priyank 2015-02-09 13:12:32

+0

如果當前日閏年大於28或29,這將返回3月。所以爲了在2月1日將這個用作字符串。與沒有31天的月份一樣。 – 2015-02-09 13:17:38

+0

@ Matt Burrow thankz對於這個好建議:) – Priyank 2015-02-09 13:26:42

0

首先,你需要使用的strtotime功能

的strtotime函數的輸出可以傳給日期函數生成月份當月轉換爲時間格式的數值格式

您可以使用下面的代碼

 $date = 'january'; 
     echo date('m', strtotime($date)); 

上面的代碼的輸出將是01參考

1

只需使用date()函數。使用下面的代碼

<?php 
    $month_number = date('m', strtotime('1 February')); 
    echo $month_number; //Prints 02 

另一種方式,你可以做一個數組。使用下面

<?php 
    $array = array("Januar"=>"01","Februar"=>"02","Mars"=>"03","April"=>"04","Mai"=>"05","Juni"=>"06","Juli"=>"07","August"=>"08","September"=>"09","Oktober"=>"10","November"=>"11","Desember"); 
    $month_name = "February"; 
    $month = ucwords(strtolower("Februar")); 
    $month_number = $array[$month]; 
    echo $month_number; // Prints 02 

希望這段代碼可以幫助您

+0

對於date()方法,如果當前日期在閏年大於28或29,則將返回3月。所以爲了在2月1日將這個用作字符串。與沒有31天的月份一樣。 – 2015-02-09 13:20:53

+0

@Matt Burrow感謝您告訴我更新了我的答案 – 2015-02-09 13:22:27

+0

它不適用於挪威月份名稱,即使將locale設置爲nowegian也是如此。 – 2015-02-09 13:43:39

相關問題