我怎么能把这个数据格式“27/04/2014 00:40”传递给这个:“2014年4月27日星期日”?

时间:2014-04-27 00:42:18

标签: php date datetime datetime-format

我通常使用此格式的数据“27/04/2014 00:40”,此代码

$f['date'] = $_POST['data'];


<form method="post" enctype="multipart/form-data">
    <label class="line">
            <span class="data">Date:</span>
            <input type="text" id="date" name="data" value="
             <?php 
              if(isset($_POST['date'])) 
                   echo $f['date']; 
              else echo date('d/m/Y H:i:s'); ?>" 
             />
   </label>
</form>

但现在我试图找到如何创建格式:2014年4月27日星期日

你知道我们怎么做吗?

2 个答案:

答案 0 :(得分:3)

您希望先使用$date = date_create_from_format('d/m/Y H:i:s', $f['date'])解析日期,然后根据新要求进行格式设定:date_format('l, d F, Y', $date)

答案 1 :(得分:2)

试试这个:

echo date('l, j F, Y');

阅读date函数php手册:http://www.php.net/manual/en/function.date.php

如果您需要每月的非英文名称和每天的名字,您可以自己添加。

月份名称数组:

$translatedMonths = array(
    '01' => 'January',
    '02' => 'February', 
    '03' => 'March',   
    '04' => 'April', 
    '05' => 'May',   
    '06' => 'June', 
    '07' => 'July',   
    '08' => 'August', 
    '09' => 'September',   
    '10' => 'October', 
    '11' => 'November', 
    '02' => 'December'  
);

工作日数组:

$translatedWeeks = array(
    '0' => 'Sunday',    
    '1' => 'Monday',    
    '2' => 'Tuesday',   
    '3' => 'Thirsday',  
    '4' => 'Wednesday', 
    '5' => 'Friday',    
    '6' => 'Saturday'
);

现在你只需要构建输出字符串:

echo $translatedWeeks[date('w')] . ", " . date('j') . " " . $translatedMonths[date('m')] . " " . date('Y');

要使用此功能,您只需要翻译几个月和几周的名称。

此处示例:http://ideone.com/BserJo

注意, date()函数返回字符串,因此您必须适当地构建assoc数组。

希望,这会对你有帮助。