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