首页 > 解决方案 > 在葡萄牙语中将日期从长格式格式化为短格式

问题描述

我有一个用葡萄牙语写的日期,比如“2018 年 11 月 24 日” 这个日期相当于“2018 年 11 月 24 日”

24 和 11 我已经尝试过这个,它给了我 31/12/1969 ????

setlocale(LC_TIME, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
date_default_timezone_set('America/Sao_Paulo');    
echo date("d/m/Y",strtotime($date));

标签: phpdateformat

解决方案


由于日期是用英语解析的,所以我不得不剪断字符串并切换大小写。结果如下:

        $strArray = explode(' ', '24 de novembro de 2018');
        $post_day = $strArray[0];
        $post_month = $strArray[2];

        switch ($post_month){

    case "janeiro": $post_month = "January" ; break;
    case "fevereiro": $post_month = "February"; break;
    case "março": $post_month = "March" ; break;
    case "abril": $post_month = "April"; break;
    case "maio": $post_month = "May"; break;
    case "junho": $post_month = "June"; break;
    case "julho": $post_month = "July"; break;
    case "agosto": $post_month = "August"; break;
    case "setembro": $post_month = "September"; break;
    case "outubro": $post_month = "October"; break;
    case "novembro": $post_month = "November"; break;
    case "dezembro": $post_month = "December"; break;

        }           

        $post_month = date_parse($post_month);
        $post_month = $post_month['month'];

推荐阅读