Php 如何更改日期I'的时区;我正在插入我的数据库?
当我在数据库中插入一个时间戳时,它的值大约是本地时间的10小时。数据库托管在Godaddy的服务器上 我已更改了php5.ini文件,并添加了Php 如何更改日期I'的时区;我正在插入我的数据库?,php,mysql,timestamp,Php,Mysql,Timestamp,当我在数据库中插入一个时间戳时,它的值大约是本地时间的10小时。数据库托管在Godaddy的服务器上 我已更改了php5.ini文件,并添加了date.timezone='Europe/伊斯坦布尔' (默认为america/phoenix)当我使用phpinfo()进行检查时 然后我运行了以下代码: if (date_default_timezone_get()) { echo 'date_default_timezone: '. date_default_timezone_get()
date.timezone='Europe/伊斯坦布尔'
(默认为america/phoenix)当我使用phpinfo()进行检查时代码>
然后我运行了以下代码:
if (date_default_timezone_get()) {
echo 'date_default_timezone: '. date_default_timezone_get() .'<br />';
}
if (ini_get('date.timezone')) {
echo 'date.timezone: ' . ini_get('date.timezone');
echo date("d/m/y : H:i:s", time());
}
这是我的MySql表
CREATE TABLE `cepbank` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(11) collate utf8_turkish_ci NOT NULL,
`trans_id` int(11) NOT NULL,
`bank` varchar(11) collate utf8_turkish_ci NOT NULL,
`tutar` decimal(10,2) NOT NULL,
`operator` varchar(32) collate utf8_turkish_ci NOT NULL,
`tarih` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci COMMENT='CepBank Gelen' AUTO_INCREMENT=143 ;
之所以发生这种情况,是因为您对tarih字段使用了默认的当前\u时间戳。并且它使用未调整的服务器日期。在php中获取调整后的时间戳:
$timestamp = date('Y-m-d H:i:s', time ());
然后将其添加到查询中:
INSERT INTO cepbank
(tarih, username, trans_id, bank, tutar, operator)
VALUES
('$timestamp','$username', '$trans_id', '$bank', '$tutar', '$operator'
@PcRestorer在执行插入和退出脚本之前是否可以打印$timestamp?它的价值是多少?像这样的1368809605something@PcRestorer很抱歉,在插入时间戳之前,您需要将其转换为MySQL格式。尝试新代码。非常感谢您(大师=)
INSERT INTO cepbank
(tarih, username, trans_id, bank, tutar, operator)
VALUES
('$timestamp','$username', '$trans_id', '$bank', '$tutar', '$operator'