سلام خدمت همه عزیزان
من میخوام زمان رو از دیتا بیسی که یه فیلد datetime داره بگیرم و با زمان جاری مقایسه کنم کسی می تونه کمک کنه؟
Printable View
سلام خدمت همه عزیزان
من میخوام زمان رو از دیتا بیسی که یه فیلد datetime داره بگیرم و با زمان جاری مقایسه کنم کسی می تونه کمک کنه؟
بهترین روش که هم دقت مناسب رو داشته باشه و هم سرعت، استفاده از unix_time هست. بر حسب ثانیه ذخیره میشه و در php براحتی قابل تبدیل به هر زمان دیگری هست. برای مقایسه در سطح دیتابیس هم، بدلیل صرفا عددی بودن، سرعت مناسبی داره
tbl_data
--------------
id name saved_at
1 test1 1501741806
2 test2 1501856900
3 test3 1502631051
$t_now = time();
$one_day_ago = $t_now-(24*60*60);
$sql = "SELECT * FROM `tbl_data` WHERE `saved_at` BETWEEN $t_now AND $one_day_ago";
در مثال بالا یه سری دیتا توی دیتابیس ذخیره شده. زمان های ذخیره هم به کمک تابع time() در زمان ثبت درونش ذخیره شده. حالا برای جستجو میخوایم تمام داده های که در ۲۴ ساعت گذشته تا به الان ثبت شده رو جستجو کنیم.
من داده ها رو از نوع datetime ذخیره کردم و با این کد زمان رو می فرستم به دیتا بیس
$datetime=date("Y/M/D G:i:s",time());
mysqli_query($link,"INSERT INTO game_table(username, password,datetime)
من داده ها رو از نوع datetime ذخیره کردم و با این کد زمان رو می فرستم به دیتا بیس
$datetime=date("Y/M/D G:i:s",time());
mysqli_query($link,"INSERT INTO game_table(username, password,datetime)