将java纪元字符串与php纪元日期

时间:2016-09-03 09:25:13

标签: java php android mysql

这里我有一个java字符串纪元日期,我想比较和添加数据 SQL它给出一个解析错误,不知道为什么有任何解决方案..

<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
//Getting values
$number = $_POST['number'];
$type = $_POST['type'];
$date = $_POST['date'];
$content = $_POST['content'];
$start = strtotime("now");
$end = strtotime("-7 days");
while($start->format('U') > $date->format('U') > $end->format('U')){

$sql = "INSERT INTO message_detail (number,type,date,content) VALUES  ('$number','$type','$date','$content')";

//Importing our db connection script
require_once('connect.php');

//Executing query to database
if(mysqli_query($con,$sql)){
echo 'Entry Added Successfully';
}else{
echo 'Could Not Add Entry';
}
}
//Closing the database 
mysqli_close($con);
}
?>

1 个答案:

答案 0 :(得分:0)

您的代码存在一些问题,例如:

  • strtotime()函数返回一个整数时间戳,而不是DateTime个对象,因此您无法像这样调用format()方法。

    $start = strtotime("now");
    $start->format('U');
    // etc. are wrong
    

    相反,请创建一个DateTime对象,然后将其称为format()方法,如下所示:

    $start = new DateTime("now");
    $start->format('U');
    // etc.
    
  • 现在谈谈您的问题,

      

    它提供了解析错误

    由于你的while条件,

    while($start->format('U') > $date->format('U') > $end->format('U')){ ...
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    

    可能是,你想做这样的事情:

    while($start->format('U') < $date->format('U') &&  $date->format('U') > $end->format('U')){
    
        // your code
    
    }
    

    <击>

旁注:

编辑:

  

我想输入入境时间过去7天的数据......

如果这是您的要求,那么您可以使用strtotime()函数或DateTime类,

执行此操作

(1)使用strtotime()函数

// your code

$content = $_POST['content'];
$start = strtotime("-7 days");
$date = strtotime($date);
$end = strtotime("now");

使用while循环毫无意义,简单的if条件就可以了,

if($start <= $date &&  $end >= $date){

    // your code

}

(2)使用DateTime类

// your code

$content = $_POST['content'];
$start = new DateTime("-7 days");
$date = new DateTime($date);
$end = new DateTime("now");

使用while循环毫无意义,简单的if条件就可以了,

if($start->format('U') <= $date->format('U') &&  $end->format('U') >= $date->format('U')){

    // your code

}