0

クライアントの最終ログイン日を示すリマインダーを送信するメーラーがあります。私の時間はunixtimestampに保存されます。したがって、データベースからフェッチして電子メールに含めると、日付の6日前に通知されます。私はここで何が間違っているのですか?

データの一部:

$lastlogin = mysql_result($result,$i,"lastlogin");
$newlastlogin = date("d-m-Y", $lastlogin);

メール本文:

 $msg .= "Your Last Activity: $newlastlogin.<BR>";

mysqlからのlastloginの日付は2012年5月27日です

しかし、メールが届くと、2012年5月21日と表示されます

ちなみに、

$newlastlogin = date("d-m-Y", strtotime($lastlogin));

どんな助けやアドバイスもいただければ幸いです

4

1 に答える 1

1

selectステートメントでunix_timestamp(date)を使用して、データベースから直接日付をUnixTimeStampに変換できます。

例:(ログインテーブルにlast_loginという名前のフィールドがあると仮定します)

$sql = "SELECT UNIX_TIMESTAMP(last_login) as lastlogin from logins";

詳細はこちら: http ://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_unix-timestamp

于 2012-05-22T03:14:06.220 に答える