如何进行日期查询? (其中=日期> 01-01-2011)

时间:2012-01-05 07:23:52

标签: date where typo3 typoscript

Typo3中有没有办法以优雅的方式查询日期? 我实验了* tt_content *字段 date ,我发现日期保存为10个字符的长整数。我认为它是另一种格式。

我想要这样的事情:

10 < styles.content.getLeft
10 {
  select {
    where = date = %y2011 //everything with year 2011
  }
}

OR

10 < styles.content.getLeft
10 {
  select {
    where = date > 23-1-1996
  }
}

2 个答案:

答案 0 :(得分:1)

日期在typo3表中保存为unix时间戳,这是保存日期的标准方式,你必须将unix时间戳转换为日期或日期为unix时间戳,在php中有date / strftime函数,在typoscript中我很快发现了这个{ {3}}

temp.current_date = TEXT
temp.current_date {
  data = yourdate (for example 2011) : U
  strftime = %A, %e. %B %Y
}

此处将日期转换为unix时间戳,之后您可以在查询中使用temp.current_date

select {
    where = date > yourdate
}

答案 1 :(得分:1)

如前所述,日期保存为UNIX时间戳,因此需要在SQL查询中使用时间戳。您可以使用MySQL的UNIX_TIMESTAMP()功能,以便轻松创建查询:

10 < styles.content.getLeft
10 {
  select {
    where = date > UNIX_TIMESTAMP('1996-01-23 23:59:59')
  }
}