我有一封邮件要发送提醒,说明客户的上次登录日期。我的时间保存在unixtimestamp中。因此,当我从数据库中获取并将其包含在电子邮件中时,它给了我比日期早6天的机会。我在这里做错了什么?
部分数据:
$lastlogin = mysql_result($result,$i,"lastlogin");
$newlastlogin = date("d-m-Y", $lastlogin);
电子邮件内文:
$msg .= "Your Last Activity: $newlastlogin.<BR>";
来自mysql的lastlogin日期为27-05-2012
但是当邮件发送时,则显示21-05-2012
顺便说一句,我尝试了
$newlastlogin = date("d-m-Y", strtotime($lastlogin));
任何帮助和建议,将不胜感激
最佳答案
您可以使用以下方法直接从数据库将日期转换为Unix TimeStamp:
select语句上的unix_timestamp(date)。
示例:(假设您在登录表上有一个名为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
关于php - UnixTimeStamp显示6天前的日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10695201/