我使用 PHP 中的 time() 函数存储我的日期。我的程序中有一个搜索部分。日期字段由 jquery datepicker 完成。这是我的日期格式,例如:14/12/2012。
问题是表中的字段是时间戳。如何使用 MySQL 查询从此日期字符串中选择实际日期?
我正在使用 codeigniter 作为框架。有什么功能可以做到这一点吗?
请帮我。
我使用 PHP 中的 time() 函数存储我的日期。我的程序中有一个搜索部分。日期字段由 jquery datepicker 完成。这是我的日期格式,例如:14/12/2012。
问题是表中的字段是时间戳。如何使用 MySQL 查询从此日期字符串中选择实际日期?
我正在使用 codeigniter 作为框架。有什么功能可以做到这一点吗?
请帮我。
PHP 中的 time() 只返回一个 unix 时间戳 - 自 1970 年 1 月 1 日以来的秒数。MySQL 时间戳、日期和日期时间字段与该值不直接兼容,但您可以轻松地在两者之间进行转换:
SELECT UNIX_TIMESTAMP(yourtimestampfield) AS php_compatible_time_value, ...
注意 MySQL 的日期字符串格式是yyyy-mm-dd
. 除非您转换为 MySQL 的预期格式,否则您不能使用您dd/mm/yyyy
的格式。
$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