【问题标题】:converting date format from numeric to text php将日期格式从数字转换为文本php
【发布时间】:2011-11-28 06:20:10
【问题描述】:

我有生成日期字段

<?php $date = 11/12/2011;
$evdate = explode("/", $date);

$exday = $evdate[0];
$exmonth = $evdate[1];
$exyear = $evdate[2]; ?>

我需要从$exmonth.输出以下内容

“这个月是十二月”

我应该如何将数值格式化为文本(即 feb,jan )?

【问题讨论】:

    标签: php arrays datetime date


    【解决方案1】:
    echo 'This month is ' . date('F', mktime(0, 0, 0, $exday, $exmonth, $exyear));
    

    http://php.net/manual/en/function.date.php

    • M :一个月的简短文本表示,三个字母(Jan 到 12 月)
    • F :一个月的全文表示,例如 一月或三月 一月至十二月

    【讨论】:

    • date 需要一个时间戳,只传递月份值 won't work。
    • jan 正在打印,但我指定的 excact 没有打印
    • @AlienWebguy,很抱歉,我前几天喝咖啡时过度活跃并点击了错误的箭头。对我来说也是“Derp”。改为赞成。
    【解决方案2】:

    完整月份名称:(十二月)

    echo 'The month is ' . date( 'F', mktime( 0, 0, 0, $exmonth, $exday, $exyear));
    

    三个字母的月份名称:(Dec)

    echo 'The month is ' . date( 'M', mktime( 0, 0, 0, $exmonth, $exday, $exyear));
    

    【讨论】:

    • 非常有效,但我需要它在文本中,这肯定有效
    • 需要什么文本?如,保存到变量中?
    【解决方案3】:

    您可以使用strftime() 和mktime():

    echo strftime("This month is %B", mktime(0, 0, 0, $exmonth, $exday, $exyear));
    

    mktime 调用将您的数字转换为 php 日期对象,strftime 代表“字符串格式化时间”,并将根据给定的模式格式化您的时间。这里,%B 是用于给出月份名称的代码。您可以在文档中看到可用于其他日期组件的所有代码。

    【讨论】:

      猜你喜欢
      • 2016-12-02
      • 1970-01-01
      • 2019-12-08
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-17
      相关资源
      最近更新 更多