php - mysql 通过新时区中的类选择 CURDATE()
问题描述
我已更新表格如下:
<?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()";
?>
推荐阅读
- r - tsCV(时间序列交叉验证)函数在 R 中不起作用
- travis-ci - 为什么 Travis 在运行单元测试时找不到 rospy?
- c - 我在判断问题的正确输出时遇到运行时错误
- typescript - 如何手动将 apollo 自定义标量映射到客户端类型
- ruby-on-rails - 使用 Rails 作为后端进行反应时,Fetch api 无法按预期工作
- c - 在线编译器(在线 gdb)正常工作,而 Windows 10 cmd 上的 g++ 和 gcc 在比较字符串时不起作用
- angular - 懒惰模块中的Angular ngx翻译不起作用
- java - 如何在主类内的方法中调用对象数组?
- html - 如何从页面 html 获取 facebook 发布时间戳/永久链接?
- json - 读取检索 json 文件而不在 laravel 7 中添加换行