代码之家  ›  专栏  ›  技术社区  ›  Andres SK

php date()与mysql month()。

  •  2
  • Andres SK  · 技术社区  · 15 年前

    我有这个unix时间戳值:1275364800(2010年6月1日)。

    用PHP打印该值时: echo date('m',1275364800) 它返回6(没关系)

    但当我从数据库中选择一个字段时: select MONTH(FROM_UNIXTIME(1275364800)) AS month 它返回5

    为什么?

    顺便说一句,如果我运行这个查询 从“unixtime”(1275364800)中选择Q 我得到 2010年5月31日23:00:00

    2 回复  |  直到 15 年前
        1
  •  0
  •   webbiedave    15 年前

    因为 1275364800 2010-05-31 1st june 2010 在mysql的环境中。这些是在不同的机器上运行的吗?

        2
  •  1
  •   RobertPitt    15 年前

    要在MySQL中设置区域设置,请执行以下操作。

    首先检查您的本地身份:

    mysql> SELECT @@lc_time_names;
    +-----------------+
    | @@lc_time_names |
    +-----------------+
    | en_US           |
    +-----------------+
    

    为了确保它的使用正确,如果正确,请更改您的apache/php区域设置。

    在MySQL中更改您的区域设置

    mysql> SET lc_time_names = 'en_UK';    
    Query OK, 0 rows affected (0.00 sec)
    

    你想把它改成什么样子!

    mysql> SELECT @@lc_time_names;
    +-----------------+
    | @@lc_time_names |
    +-----------------+
    | en_UK           |
    +-----------------+ 
    

    希望这对你有帮助!.