mysql选择CURDATE()按新时区中的class

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql选择CURDATE()按新时区中的class相关的知识,希望对你有一定的参考价值。

我已更新表格如下:

<?php
   $date = new DateTime();
   $date->setTimezone(new DateTimeZone('Asia/Kolkata'));
   $fdate = $date->format('Y-m-d H:i:s');
   $sql="update mytable set logged_on='$fdate' where id='$Id'";
  ?>

然后我尝试选择当前日期如下:

<?php
    date_default_timezone_set('Asia/Kolkata');
    $sql="select * from mytable where DATE(logged_on) = CURDATE()";
   ?>

但是CURDATE()不起作用。请告诉我如何按班级选择当前日期。

答案

这很有效

<?php
   $date = new DateTime();
   $date->setTimezone(new DateTimeZone('Asia/Kolkata'));
   $fdate = $date->format('Y-m-d H:i:s');
   $sql="select * from mytable where DATE(logged_on) = Date($fdate)" 
?>

但我认为更好的答案是

<?php
      $con=mysqli_connect("localhost","my_user","my_password","my_db");
      $con->query("SET GLOBAL time_zone = 'Asia/Calcutta'");
      $con->query("SET time_zone = '+05:30'");
      $con->query("SET @@session.time_zone = '+05:30'");
      $sql="select * from mytable where DATE(logged_on) = CURDATE()";
?>

以上是关于mysql选择CURDATE()按新时区中的class的主要内容,如果未能解决你的问题,请参考以下文章

php mysql怎样根据数据库表中的出生日期搜索出年龄大于65岁的记录

PHP、MySQL 和时区

mysql 获取当前日期前后的时间

MySQL CURDATE() 函数

MySQL:Curdate() 与 Now()

mysql关于时间函数的判断