Mysql select - 获取时间戳的日期

发布于 2024-10-23 15:01:29 字数 165 浏览 3 评论 0原文

在mysql表中,存储了时间戳值(如1265138145)。 我想要的是显示属于这些时间戳的日期(例如27/2/2011、10/3/2011、15/3/2011、16/03/2011等)。这可能吗? (但只显示一次日期,例如如果有 1265138145 和 1265138140 则只显示一次日期 - 即 16/3)

At the mysql table, there are stored values of timestamps (like 1265138145).
What i want is to display the dates (eg 27/2/2011,10/3/2011,15/3/2011, 16/03/2011 etc) which belong to these timestamps. Is this possible?
(but only display one time the date, eg if there is 1265138145 and 1265138140 then display only one time the date - which is 16/3)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

辞别 2024-10-30 15:01:29

有多种方法可以做到这一点, FROM_UNIXTIME 命令可能是最简单的。

例如: SELECT FROM_UNIXTIME(, '%d/%m/%Y');

我不确定您所说的“仅显示一次日期”是什么意思,但是在必要的列上使用 DISTINCT 应该会有所帮助。

即: SELECT DISTINCT(FROM_UNIXTIME(, '%d/%m/%Y')); 可能就是您所需要的。

There are a variety of ways of doing this, the FROM_UNIXTIME command probably being the easiest.

For example: SELECT FROM_UNIXTIME(<timestamp field>, '%d/%m/%Y');

I'm not sure what you mean about "only display one time the date", but using DISTINCT on the necessary column should help.

i.e.: SELECT DISTINCT(FROM_UNIXTIME(<timestamp field>, '%d/%m/%Y')); may be all you require.

岁吢 2024-10-30 15:01:29

在 MySQL 中,使用 ADDDATE 和unixtimestamp秒到纪元的间隔,例如

select adddate('1970-01-01', interval 1265138145 second)

然后只显示一次日期

在查询中使用 DISTINCT,例如

select distinct date(adddate('1970-01-01', interval 1265138145 second))
from tbl ..

上面的两个查询都将列返回为日期时间值,您可以在 PHP 中应用默认格式。


Note about using FROM_UNIXTIME - you get your local UTC offset added to the time, which is unlikely to be what you want, unless the data was populated using UNIX_TIMESTAMP in the first place.

FROM_UNIXTIME:将 unix_timestamp 参数的表示形式返回为“YYYY-MM-DD HH:MM:SS”或 YYYYMMDDHHMMSS.uuuuuu 格式的值,具体取决于该函数是在字符串还是数字上下文中使用。该值以当前时区

表示

From within MySQL, use ADDDATE and interval of unixtimestamp seconds to the epoch, e.g.

select adddate('1970-01-01', interval 1265138145 second)

then display only one time the date

Use DISTINCT in your query, e.g.

select distinct date(adddate('1970-01-01', interval 1265138145 second))
from tbl ..

Both queries above return the column as a datetime value, which you can apply default formatting to in PHP.


Note about using FROM_UNIXTIME - you get your local UTC offset added to the time, which is unlikely to be what you want, unless the data was populated using UNIX_TIMESTAMP in the first place.

FROM_UNIXTIME: Returns a representation of the unix_timestamp argument as a value in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS.uuuuuu format, depending on whether the function is used in a string or numeric context. The value is expressed in the current time zone

生寂 2024-10-30 15:01:29
<?php
    print date("d/m/Y", $timestamp);
?>

http://us.php.net/manual/en/function.date.php

<?php
    print date("d/m/Y", $timestamp);
?>

http://us.php.net/manual/en/function.date.php

挽清梦 2024-10-30 15:01:29

获取您的数据并仅使用 date() 函数。

echo date('d/m/Y', $row['date']);

Fetch your data and use just date() function.

echo date('d/m/Y', $row['date']);
沐歌 2024-10-30 15:01:29

使用 FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format) http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_from-unixtime

mySQL 语句中的

use FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format) http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_from-unixtime

in mySQL statement

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文