首页 文章

如何从PHP中的UNIX时间戳中获取正确的日期?

提问于
浏览
-1

我从表单到 mm/dd/yyyy 格式的两个日期 . 现在我将这两个日期转换为等效的UNIX时间戳值并创建一个SQL查询以从数据库中获取落入此范围的记录 . 这个小代码片段如下:

if($request['from_date']!='' && $request['to_date']!='') {
            $from_date  = clean($request['from_date']);
            $to_date    = clean($request['to_date']);       

            list($fd, $fm, $fy) = explode('/', $from_date);
            list($td, $tm, $ty) = explode('/', $to_date);

            $mk_from_time = mktime(0, 0, 0, $fm, $fd, $fy);
            $mk_to_time   = mktime(0, 0, 0, $tm, $td, $ty);
$date_range = " ( user_reg_date BETWEEN ".$mk_from_time." AND ".$mk_to_time." ) ";
}

使用其他一些代码生成格式正确的查询并给出结果 . 但我的问题是当我输入两个日期时 . 01/07/2013 and 31/07/2013 并从DB获取记录然后它实际上给出了记录 from date 01/07/2013 to date 30/07/2013 . 实际上,预计会将记录提供给 31/07/2013 . 如果我把日期定为 01/08/2013 那么它将根据我的要求将记录返回 31/07/2013 . 简而言之 to date 落后一天 . 任何人都可以帮我解决这个问题吗?提前致谢 . 另一个重要的是DB中的字段 user_reg_date 包含UNIX时间戳格式的所有值 .

1 回答

  • 1

    尝试使用

    $ mk_to_time = mktime(23,59,59,$ tm,$ td,$ ty);

相关问题