1

我无法理解在哪里进行转换以获取 unixtime 并将其转换为特定的月份和年份。

$sql = "SELECT * FROM logs WHERE clientid = '5604' AND timestamp = 'Jan 13' ";

我需要在哪里放置date()函数以将时间戳过滤到指定的月份和年份?

4

2 回答 2

1

首先, MySQL 中的日期文字必须遵循以下格式之一:

  • 年*月*日
  • 年年*月*日

*表示“任何非数字非字母数字字符或根本没有字符”。

YY或者YYYY是带有两位或四位数字的年份。

MM是月和DD日的数字。

然后,如果您想获得特定日期的结果,您可以执行以下操作:

... WHERE DATE(timestamp_field) = '2013-01-13';

但实际上这个查询不能在timestamp_field. 这种方法更好,因为timestamp_field可以使用索引:

... WHERE timestamp_field >= '2013-01-13' AND timestamp_field < '2013-01-14';
于 2013-07-05T14:32:58.883 回答
0

创建两个变量。使 1 等于您想要的年份月份的第一天,第二天等于下一年月份的第一天。然后就是这样:

where timestamp >= your first variable
and timestamp < your second variable

这种方法将处理您的时间戳字段的时间部分,并且比您尝试使用函数时执行得更快。

于 2013-07-05T14:29:59.350 回答