Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php STROTIME未根据本地数据获取时间_Php_Codeigniter - Fatal编程技术网

Php STROTIME未根据本地数据获取时间

Php STROTIME未根据本地数据获取时间,php,codeigniter,Php,Codeigniter,大家好,我用strotime来转换日期,但我面临的问题是,它将时间设置为19:00:00,这是错误的。我将发送一个日期字符串,然后将其发送给strotime,它会自行设置时间。现在我的时间是11:58,但它将时间存储为19:00。请告诉我为什么我要面对这个错误。下面是代码:strotime($s_date)$s_date只包含一个日期字符串strotime设置时间 我发送的日期字符串是this03/04/2016 HTML <input type="text"

大家好,我用strotime来转换日期,但我面临的问题是,它将时间设置为19:00:00,这是错误的。我将发送一个日期字符串,然后将其发送给strotime,它会自行设置时间。现在我的时间是11:58,但它将时间存储为19:00。请告诉我为什么我要面对这个错误。下面是代码:
strotime($s_date)
$s_date
只包含一个日期字符串
strotime
设置时间

我发送的日期字符串是this
03/04/2016

HTML

              <input type="text" class="form-control" id="starts" data-container="#addNewEvent"
              data-plugin="datepicker">
控制器方法

 public function insertCalendar(){
   $s_date = $_POST["start"];
   $p = strtotime($s_date);
   error_log($p)
 }

还有一件事,我正在mongodb中对其进行排序,以便我从strotime获取的对象将它们转换为新的MongoDate(strotime($s_date))首先我们需要设置第一个
时区

date_default_timezone_set('Asia/Karachi');
然后,您可以使用以下代码获取时间和日期:

echo date('Y-m-d h:i:s'); /* Current date and time*/
echo date('Y-m-d');  /* Current date */
echo date('h:i:s');  /* Current time */
如果要将日期转换为所需格式。 比如说<代码>2016年4月3日
,因此请使用

$s_date = '03/04/2016';
echo date('Y-m-d',strtotime($s_date)); /* Convert date into mysql date format */
您将根据mysql的
Y-m-d
格式获取日期,如
2016-03-04

现在您希望用户提供的日期与当前时间一致,那么您应该使用

$s_date = '03/04/2016'.' '.date('h:i:s');
echo date('Y-m-d',strtotime($s_date));

这将解决您的问题。

@Gardezi您需要设置
时区,
,从您所在的位置开始…?您迄今为止尝试了什么?发布一些代码please@Yash我来自亚洲/卡拉奇。即setdate_default_timezone_set('Asia/Karachi');向我们显示要发送到
strotime()
的完整日期字符串。或者更好。。显示您使用的实际代码。这不会存储时间?因此请使用变量存储您当前的时间。@Gardezi您可以将时间与日期一起存储。使用
$date\u time=date('Y-m-d h:i:s',strottime($s\u date))它将根据时区选择您要存储的日期和当前时间。是的,我还在mongodb中存储strotime。在我将其发送到db之前,我正在将strottime对象转换为mongoDate,如下所示
新的mongoDate(date('m-d-y-h:I:s',strottime('s_date))
但db中存储的是
ISODate(“1970-01-01T00:00:03.0Z”)
@Gardezi我更新了mogodb的代码。希望这对你有帮助。
$s_date = '03/04/2016'.' '.date('h:i:s');
echo date('Y-m-d',strtotime($s_date));