我如何才能传递这种数据格式“;2014年4月27日00:40“;对此:“;2014年4月27日,星期日”;


How I can pass this data format "27/04/2014 00:40" to this: "Sunday, 27 April, 2014"?

我通常使用这种格式的数据"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日,星期日

你知道我们该怎么做吗?

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

试试这个:

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数组。

希望,这对你有帮助。