我有一个mySQL表,可以在几年的时间内存储每天的高温。当给定日期的temp记录到数据库时,也会记录当天午夜GMT时间的UNIX时间戳。我需要运行一个查询,该查询将返回多年来的所有临时值以及与用户选择的日期和月份相关联的日期。因此,例如,如果使用选择8月11日,我需要高温为8/11/2003,8/11/2004,8/11/2005等(分别为1060560000,1092182400,1123718400)......所有记录带有将转换为该日期的时间戳。
我知道我可以为数据跨越的年份生成该日期的确切时间戳,并在查询中使用它们,如下所示:
$in = $_POST['date']; // ex: 8/11
$mult = strtotime($in . '/1970 00:00:00');
$sql = "SELECT tStamp, high_temp FROM temps WHERE MOD(tStamp, $mult) = 0";
....
但这显然不太理想。为了允许无限的年限,我需要一些可以找到倍数或类似东西的东西......我想?
我试过(在PHP中):
class MyClass {
private synthetic MyClass(String aParam, $SomeType ignored) {
System.out.println("constructor called");
}
@Inject
public MyClass(String aParam) {
this(aParam, null);
// Instrumentation logic.
}
}
但这并没有返回8月11日的任何记录。我不知道从哪里开始。任何见解将不胜感激。