php - mysql 通过新时区中的类选择 CURDATE()

标签 php mysql timezone

我更新了表格如下:

<?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() 不起作用。请告诉我如何按类(class)选择当前日期。

最佳答案

这正在工作

<?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()";
?>

关于php - mysql 通过新时区中的类选择 CURDATE(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104890/

相关文章:

mysql - 随时返回当前日期的结果

mysql - 每个月第一天运行 cron 作业的安全性

MySQL更新被未知事务阻止

php - 如何用PHP显示本地时间

datetime - 在 Lua 中,考虑夏令时时如何获得纽约时间?

asp.net - 使用用户时间在 GridView 中显示 DateTime

php - 从多维数组中获取第一项?

php - 复选框 "checked"值与 session 和数据库值冲突 PHP

php - header 显示在 apache 错误日志中(curl 和 paypal)

php - MYSQL:查询以获取上一个和下一个视频 ID?