在mysql输出中编辑时间

时间:2017-03-14 10:01:31

标签: php html mysql

有问题,我发现了这个:

http://www.phpdevtips.com/2013/06/email-open-tracking-with-php-and-mysql/

所以能够让它工作,甚至想出如何在页面中显示数据,这一个:

<html>
<head>
<meta http-equiv="refresh" content="900">
<title>Who read his e-Mail, and when?</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<style>
* {
box-sizing: border-box;
}

.txt {
font-family: 'Open Sans', sans-serif;
font-size: 11px;
text-align: left;
}

h2 {
padding: 5px;
font-family: 'Open Sans', sans-serif;
font-size: 24px;
text-align: left;
font-weight: bold;
}

#myTable {
border-collapse: collapse;
width: 100%;
border: 1px solid #ddd;
font-size: 18px;
}

#myTable th, #myTable td {
text-align: left;
padding: 12px;
}

#myTable tr {
border-bottom: 1px solid #ddd;
}

#myTable tr.header, #myTable tr:hover {
background-color: #f1f1f1;
}
</style>

</head>
<body>


<h2>Who read his e-Mail, and when?</h2>

<?php

mysql_connect("localhost", "***", "***") or die (mysql_error ());

mysql_select_db("***") or die(mysql_error());

$strSQL = "SELECT * FROM email_log";

$rs = mysql_query($strSQL);

while($row = mysql_fetch_array($rs)) {

echo "<table border='1' width='100%' style='border-collapse: collapse' cellpadding='5' class='txt' id='myTable'>";
echo "<tr class='header'>";
echo "<td width='5%' class='txt'>";
echo $row['id'] . "</td><td width='30%' class='txt'>";
echo $row['user'] . "</td><td width='40%' class='txt'>";
echo $row['subject'] . "</td><td width='25%' class='txt'>";
echo $row['opened'] . "</td>";
echo "</tr>";
echo "</table>";
}

mysql_close();

?>

</body>
</html>

到目前为止,非常好,现在我的问题是,在打开行中退出数据库的日期和时间在结果页面上显示如下:{{1 }}

我希望它显示为2017-03-09 07:53:58

它应该是6个小时之后,因为在我看来它现在显示的是服务器时间,而不是我们的时区。

为了得到你的帮助,任何人都可以向我推进正确的方向?任何帮助表示感谢。

里斯

3 个答案:

答案 0 :(得分:0)

要更改日期格式,您可以使用

日期(&#39; h:我:s d-m-Y&#39;,strtotime($ row [&#39;已打开&#39;]));

管理时区的最佳方法是,您可以在将日期时间插入数据库的位置设置时区。在映射到数据库之前初始化您想要的时区。

<强> date_default_timezone_set(&#34;亚/曼谷&#34);

而非亚洲/曼谷&#34;你可以给你的时区

答案 1 :(得分:0)

谢谢大家,很棒的解决方案,这个做得最好:

回音日期('H:i:s d-m-Y',strtotime($ row ['open'])+ 21600);

来自西班牙的Tnx,Greetz:)

答案 2 :(得分:-1)

SELECT DATE_FORMAT(opened,'%H:%i:%s %d-%m-%Y')opened,id,user,subject FROM email_log

您可以尝试DATE_FORMAT() MySQL。 尝试上面的代码希望这会有所帮助。