如何从包含unix时间戳中的日期字段的表中获取记录?

时间:2012-12-14 14:47:02

标签: php mysql codeigniter

我通过在PHP中使用time()函数来存储我的日期。我的程序中有一个搜索部分。日期字段由jquery datepicker完成。这是我的日期格式,例如:14/12/2012。

问题是表中的字段是时间戳。如何使用MySQL查询从此日期字符串中选择实际日期?

我使用codeigniter作为框架。有没有这方面的功能?

请帮帮我。

2 个答案:

答案 0 :(得分:1)

PHP中的

time()只返回一个unix时间戳 - 自1970年1月1日以来的秒数。 MySQL时间戳,日期和日期时间字段与该值不直接兼容,但您可以轻松地在两者之间进行转换:

SELECT UNIX_TIMESTAMP(yourtimestampfield) AS php_compatible_time_value, ...

请注意,MySQL的日期字符串格式为yyyy-mm-dd。除非转换为MySQL的预期格式,否则不能使用dd/mm/yyyy格式。

答案 1 :(得分:1)

$date = '14/12/2012';
$d = explode('/',$date);
$timestamp = mktime(0, 0, 0, $d[1], $d[0], $d[2]); 

然后在查询中使用$ timestamp

当然,你需要采用不同格式的英国/美国等日期的方法.mm / dd / yyyy或dd / mm / yyyy