Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将varchar字符串db date转换为date/timstamp_Php_Mysql_Date - Fatal编程技术网

Php 如何将varchar字符串db date转换为date/timstamp

Php 如何将varchar字符串db date转换为date/timstamp,php,mysql,date,Php,Mysql,Date,我需要一个时间比较 我有一个带有varchar字段的数据库字段,该字段包含列名date 我根据代码中的id.like获取了两个日期 现在我想将这些字符串转换成实际的日期/时间,以便比较它们 我正在尝试: $sql="SELECT date From tbl_info where id=12 "; //first date string $sql2="SELECT date From tbl_info where id=14 "; //2nd date string $r

我需要一个时间比较

我有一个带有
varchar
字段的数据库字段,该字段包含列名
date

我根据代码中的
id.like
获取了两个日期

现在我想将这些字符串转换成实际的日期/时间,以便比较它们

我正在尝试:

    $sql="SELECT date From tbl_info where  id=12 "; //first date string
    $sql2="SELECT date From tbl_info where id=14 "; //2nd date string
    $result= mysql_query($sql) or die(msyql_error());
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
      {
     $date=$row["date"]. "<br>";       
     echo  $date ;
      }
     $result2= mysql_query($sql2) or die(msyql_error());
      while($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) 
       {
       $date2=$row2["date"]. "<br>";
        echo  $date2;
        }
       $value=strtotime('H,i',$date);
      echo "<br/>Value= :".$value ;

      $value2=strtotime('H,i',$date2);
      echo "<br/>Value2= :".$value2;
$sql=“从tbl\U信息中选择日期,其中id=12”//第一个日期字符串
$sql2=“从tbl\U信息中选择日期,其中id=14”//第二个日期字符串
$result=mysql_query($sql)或die(msyql_error());
而($row=mysql\u fetch\u array($result,mysql\u ASSOC))
{
$date=$row[“date”]。“
”; echo$日期; } $result2=mysql_query($sql2)或die(msyql_error()); 而($row2=mysql\u fetch\u数组($result2,mysql\u ASSOC)) { $date2=$row2[“日期”]。“
”; echo$date2; } $value=strottime('H,i',$date); echo“
Value=:”$Value; $value2=strotime('H,i',$date2); echo“
Value2=:”$Value2;
结果:

值=:-48386

值2=:-48386

因为strotime不起作用,所以正确的实际方法是什么。

试试

date('H,i', strtotime($date)); //$date will be the date you want to use

$value2=date('H,i', strtotime($date2));

不再支持
mysql.*
函数,它们不再维护,将来也会维护。您应该使用或更新您的代码,以确保将来项目的功能。当MySQL更适合Thanke@sgt时,为什么要在varchar中存储日期。但现在它给出了“18:00”这是什么?它不像这样,你想要哪种格式<代码>H表示
00到23
。。您将获得所有格式-。请看一看。感谢您提供格式的链接。但我不明白为什么它会提供“:00”?你能详细说明你传递的变量是什么吗?在插入变量时,我使用$date=date('Y-m-dh:i:s');