Mysql将varchar转换为日期php

时间:2014-10-09 18:57:09

标签: php mysql date

我的数据库中有一个字段,它将日期存储为VARCHAR,如下所示:

      2014-10-09T07:10:46

我正在尝试将其转换为日期,并通过执行以下操作将其显示为%Y-%M;

      'Month' => array(
        'chart' => 'line',
        'fields' => array(
        array(
         'field' => 'date_format(str_to_date(cd.field_closed_date_value,\'%Y-%M-%dT%H:%i:%S\'), \'%Y-%m\')',
         'alias' => 'month',
         'label' => 'Month',
         'type' => 'string',
         'sort' => 'ASC',
        ),
       ),
      ),

有效的原始代码是这样的:

'Day' => array(
'chart' => 'line',
'fields' => array(
  array(
    'field' => 'date_format(from_unixtime(n.created), \'%Y-%m-%d\')',
    'alias' => 'day',
    'label' => 'Day',
    'type' => 'string',
    'sort' => 'ASC',
  ),
),
),

但是该代码使用创建的日期,我需要使用关闭日期,该日期不是相同的格式。我知道我可能真的错了,我正在尝试使用这个项目的时候,任何帮助都表示赞赏。

1 个答案:

答案 0 :(得分:0)

只需使用date()strtotime()功能,如下所示:

date("Y-M",strtotime('2014-10-09T07:10:46')) // returns "2014-Oct"

strtotime()接受ISO日期格式并返回UNIX时间戳,然后date()可以将时间戳转换为自定义格式。