Функция date () возвращает предыдущую дату - PullRequest
1 голос
/ 30 апреля 2020

Я использовал простой скрипт для обновления текущей даты на стороне сервера с помощью задания кроны, но он возвращает предыдущую дату. Дата windows верна. Я попытался проверить скрипт в онлайн php редакторе, и он вернул предыдущую дату. не знаю, где проблема.

<?php
$current_date = date("Y/m/d");

$update_d = "UPDATE product SET c_date = '$current_date' ";
$run_d = mysqli_query($con, $update_d);

if ($run_d) {    
    echo "<script>alert('Current Date Updated Successfully!')</script>";
  }
?>

Ответы [ 2 ]

2 голосов
/ 30 апреля 2020

Почему бы не выполнить всю операцию в базе данных вместо передачи переменной из вашего кода? В MySQL, current_date показывает текущую дату (без компонента времени), поэтому:

$update_d = "UPDATE product SET c_date = current_date";
$run_d = mysqli_query($update_d);
0 голосов
/ 01 мая 2020

Следующий mysql код

SELECT DATE_FORMAT(CURDATE(),'%Y/%m/%d');

Дает вам результат 2020/04/30

Поэтому следующий код будет делать то, что вы хотите

<?php

$update_d = "UPDATE product SET c_date = DATE_FORMAT(CURDATE(),'%Y/%m/%d');";
$run_d = mysqli_query($con, $update_d);

if ($run_d) {    
    echo "<script>alert('Current Date Updated Successfully!')</script>";
  }
?>
...