如何将日期变量转换为月份名称:

时间:2015-12-10 07:20:17

标签: php mysql

我尝试将日期($ dateTime)变量插入月份名称(1月....)

 $dateTime = $req->date;
   $arr = explode(" ",$dateTime);
    $date = $arr[0];

$openPunch->in_time = $dateTime;
$ok = $openPunch->Save();

当我尝试这段代码时,它将保存在我的sql数据库日期,因为这种格式(' 2015-12-09 11:51:28 ')但我想只保存月份名称(' 12月') ?????我怎么能实现我的目标???

4 个答案:

答案 0 :(得分:1)

使用MySQL DATE_FORMAT

DATE_FORMAT('2015-12-09 11:51:28','%M')

用于插入

INSERT INTO table_name (column1)
VALUES (DATE_FORMAT('2015-12-09 11:51:28','%M'))

答案 1 :(得分:1)

这与您的需求相同

您可以设置$ dateTime = $ req-> date;

app.log

答案 2 :(得分:0)

如果您的SQL数据库中的OrderDate看起来像2014-12-11 13:23:44.657

SQL QUERY

$monthNum =   SELECT EXTRACT(MONTH FROM OrderDate) AS OrderMonth ;
$monthName = date("F", mktime(0, 0, 0, $monthNum, 10));
echo $monthName;

答案 3 :(得分:0)

您无法在仅有datetime格式的列上保存仅限月份的文字。

但您仍然可以通过查询或PHP以一个月的文本格式获取数据。

使用SELECT查询:

SELECT DATE_FORMAT(date_column,'%M') AS year_text FROM table

使用php

$dateTime = date("F", strtotime($dateTime));

但是如果你真的想在MySQL数据库中以文本格式存储月份,你可以使用charvarchar这样的字符串类型。