rem*_*emy 170 mysql sql date-formatting
我想将timestampMySQL转换为日期.
我想将user.registration字段格式化为文本文件yyyy-mm-dd.
这是我的SQL:
$sql = requestSQL("SELECT user.email,
info.name,
FROM_UNIXTIME(user.registration),
info.news
FROM user, info
WHERE user.id = info.id ", "export members");
Run Code Online (Sandbox Code Playgroud)
我还试过日期转换:
DATE_FORMAT(user.registration, '%d/%m/%Y')
DATE(user.registration)
Run Code Online (Sandbox Code Playgroud)
我在编写文本文件之前回显结果,然后得到:
email1; name1; DATE_FORMAT(user.registration,'%d /%m /%Y'); news1
EMAIL2; NAME2;新闻2
如何将该字段转换为日期?
小智 337
DATE_FORMAT(FROM_UNIXTIME(`user.registration`), '%e %b %Y') AS 'date_formatted'
Run Code Online (Sandbox Code Playgroud)
Eri*_*ski 59
使用整数时间戳创建表:
mysql> create table foo(id INT, mytimestamp INT(11));
Query OK, 0 rows affected (0.02 sec)
Run Code Online (Sandbox Code Playgroud)
插入一些值
mysql> insert into foo values(1, 1381262848);
Query OK, 1 row affected (0.01 sec)
Run Code Online (Sandbox Code Playgroud)
看一看
mysql> select * from foo;
+------+-------------+
| id | mytimestamp |
+------+-------------+
| 1 | 1381262848 |
+------+-------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
将数字转换为时间戳:
mysql> select id, from_unixtime(mytimestamp) from foo;
+------+----------------------------+
| id | from_unixtime(mytimestamp) |
+------+----------------------------+
| 1 | 2013-10-08 16:07:28 |
+------+----------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
将其转换为可读格式:
mysql> select id, from_unixtime(mytimestamp, '%Y %D %M %H:%i:%s') from foo;
+------+-------------------------------------------------+
| id | from_unixtime(mytimestamp, '%Y %D %M %H:%i:%s') |
+------+-------------------------------------------------+
| 1 | 2013 8th October 04:07:28 |
+------+-------------------------------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
jue*_*n d 57
刚刚得到一个日期,你可以cast它
cast(user.registration as date)
Run Code Online (Sandbox Code Playgroud)
并获得特定的格式使用 date_format
date_format(registration, '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
小智 18
如果该registration字段确实是类型,TIMESTAMP您应该能够做到:
$sql = "SELECT user.email,
info.name,
DATE(user.registration),
info.news
FROM user,
info
WHERE user.id = info.id ";
Run Code Online (Sandbox Code Playgroud)
并且注册应显示为yyyy-mm-dd
Mor*_*rey 10
只需使用mysql的DATE函数:
mysql> select DATE(mytimestamp) from foo;
Run Code Online (Sandbox Code Playgroud)
你应该转换timestamp为date.
select FROM_UNIXTIME(user.registration, '%Y-%m-%d %H:%i:%s') AS 'date_formatted'
Run Code Online (Sandbox Code Playgroud)
FROM_UNIXTIME(unix_timestamp, [format]) 是你所需要的全部
FROM_UNIXTIME(user.registration, '%Y-%m-%d') AS 'date_formatted'
Run Code Online (Sandbox Code Playgroud)
FROM_UNIXTIME获取数字值并将其转换为DATE对象,
或者如果给定格式字符串,则将其作为字符串返回。
较旧的解决方案是获取初始日期对象并使用第二个函数对其进行格式化DATE_FORMAT......但这不再是必要的
| 归档时间: |
|
| 查看次数: |
394684 次 |
| 最近记录: |