PLATFORM: PHP & mySQL
Date ("Ymd H: i: s") Ben aşağıdaki biçimde veritabanında tarih + saati depolamak. Benim DB sahip bir değerin bir örneğidir: 2010-01-05 07:36:33. Benim komut, ben date_default_timezone_set("America/Chicago");
olarak dilimini belirledik
THE PROBLEM:
Ben bir yerde UNIX_TIMESTAMP hakkında okumak ve benim sorguda olduğu kullanıyordum. DB'den bir tarih değerinin üzerinde UNIX_TIMESTAMP değeri, strotime (DB tarih Değer) farklı gibi görünüyor.
EXAMPLE:
Consider that one of the DB values for the date column in my DB is 2010-01-05 07:36:33 Now if I fetch this date in the following way:
$result = mysql_query("SELECT date, UNIX_TIMESTAMP(date) AS ut_date FROM table");
$row = mysql_fetch_row($result);
//The result of this is:
$row['date'] = 2010-01-05 07:36:33
$row['ut_date'] = 1262657193
strtotime($row['date']) gives 1262698593
Benim uygulama içinde benim daha sonraki hesaplamalar için, ben strtotime (tarih) ile çalışmak gerekir. Ben bu şekilde yapmak için birçok karşılaştırmalar var. Benim sorun çözülmüş olurdu, UNIX_TIMESTAMP (tarih) strtotime (tarih) aynı oldu vardı. Ben çalışmak gerekiyor örnek sorgu biridir:
$gap = 1; // time in minutes
$tm2 = date ("Y-m-d H:i:s", mktime (date("H"),date("i")-$gap,date("s"),date("m"),date("d"),date("Y")));
$target = strtotime($tm2);
$result2 = mysql_query("UPDATE table2 SET stat = 0 WHERE UNIX_TIMESTAMP(today_login_time) < $target ");
Yukarıdaki bana yanlış sonuçlar veriyor. Ben yukarıdaki sorguda strtotime ile UNIX_TIMESTAMP değiştirmeye çalışırsanız işlevi strtotime PHP fonksiyon ve ilgili değil mySQL fonksiyonu gibi görünüyor, bana bir hata veriyor. Strtotime için ayrı bir mySQL işlevi var mı? Nasıl Yukarıdaki sorunu çözmek mi? The code Yukarıdaki sorunu çözmek için son derece takdir edilmektedir.
Şimdiden teşekkür ederim.