我的数据库中有一个字段,它将日期存储为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',
),
),
),
但是该代码使用创建的日期,我需要使用关闭日期,该日期不是相同的格式。我知道我可能真的错了,我正在尝试使用这个项目的时候,任何帮助都表示赞赏。
答案 0 :(得分:0)
只需使用date()
和strtotime()
功能,如下所示:
date("Y-M",strtotime('2014-10-09T07:10:46')) // returns "2014-Oct"
strtotime()
接受ISO日期格式并返回UNIX时间戳,然后date()
可以将时间戳转换为自定义格式。