是否可以使用CodeIgniter 3.1.9将时间戳转换为人类可读的日期(任何语言)

时间:2018-11-01 18:03:56

标签: php sql codeigniter timestamp codeigniter-3

使用CodeIgniter 3.1.9可以将时间戳转换为人类可读的日期(任何语言)。

与possibe一样,我想使用helper(日期助手)。

  • 输入:2018-11-01 17:12:26。
  • 输出:2018年1月1日

3 个答案:

答案 0 :(得分:1)

我认为您需要的是辅助功能nice_date

它有两个参数,第一个是输入字符串,第二个是格式字符串。格式字符串在PHP的date()函数中使用与记录的HERE相同的方案。

不推荐使用nice_date函数,文档建议使用PHP的DateTime class,例如

DateTime::createFromFormat($input_format, $input)->format($output_format);

(我的猜测是与否决票有关。)

答案 1 :(得分:1)

日期助手不会帮助您。使用以下功能(还包括转换为本地时间):

function dateTimeToFrench($datetime, $format="l j F Y à H:i:s", $convertToLocalTime = false)
{
    $english_days = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
    $french_days = array('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche');
    $english_months = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
    $french_months = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');

    $datetime = new DateTime($datetime, new DateTimeZone('UTC'));
    if ($convertToLocalTime) $datetime->setTimezone(new DateTimeZone('Europe/Paris'));
    return str_replace($english_months, $french_months, str_replace($english_days, $french_days, $datetime->format($format) ) );
}

答案 2 :(得分:0)

尝试使用 setlocale strftime 功能,可能有可能。 Reference Link

setlocale (LC_ALL, "de_DE"); //Setting the locale to German
echo strftime( "%h %y",strtotime("2011-12-22")); // Prints ‘Dez 2011’ month is in German