如何在php中设置印度标准时间?

时间:2018-01-30 06:36:02

标签: php sql date time opencart

我正在使用PHP codeigniter所以在这里我希望获得当前的国家时间。 我在我的sql代码中尝试了NOW()但是当服务器更改位置时服务器时间会发生变化。如果我给date(),我认为这将花费我们的系统当前时间。在date()情况下,如果某个用户的日期时间错误,那么它将存储错误的时间。那么我该如何解决这个问题呢。

5 个答案:

答案 0 :(得分:5)

在您的项目index.php中,只需将以下代码放在第2行

date_default_timezone_set('Asia/Kolkata');

或在此处查看时区

http://php.net/manual/en/timezones.asia.php

答案 1 :(得分:4)

在php代码

的开头将默认时区设置为India
date_default_timezone_set('Asia/Kolkata');

查询

 $query = "INSERT INTO oc_customer SET date_added = ' ".date("Y-m-d H:i:s") ." ' "; 

答案 2 :(得分:2)

将此date_default_timezone_set('Asia/Kolkata');放入 config / config.php ,它将适用于整个应用

将此行添加到应用程序文件夹中的autoload.php:

$autoload['time_zone'] = date_default_timezone_set('Asia/Kolkata');

在codeigniter文件夹的主要 index.php 中添加此行

date_default_timezone_set('Asia/Kolkata');

答案 3 :(得分:2)

很少清晰,

date_default_timezone_set对sql NOW()没有任何影响。

此外,服务器日期/时间不依赖于用户'系统,除非你在javascript中获取它。

答案 4 :(得分:0)

这是PHP提供的时区列表,所以最终codeigniter会这样做 PHP Timezones

以下是您在CI中列出时区的方法,可以进一步使用。

$timezones =  DateTimeZone::listIdentifiers(DateTimeZone::ALL);

 foreach ($timezones as $timezone) 
 {
    echo $timezone;
    echo "</br>";
 }

也许通过研究我发现方法是保留在config.php文件中。

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

date_default_timezone_set('Asia/Kolkata');