我有一個代碼可以在數據庫中保存發布日期,但它總是更改為 1970/01/01 07:00 am 我使用 codeigniter 框架,這是我的視圖代碼 <div class="form-group"> <label class="control-label col-md-2">Publish Date</label> <div class="col-md-10"> <div class="input-group date form_datetime bs-datetime" data-date-format="yyyy-mm-dd HH:ii"> <input type="text" name="form[date]" class="form-control" readonly=""> <span class="input-group-addon"> <button class="btn default date-reset" type="button"> <i class="fa fa-times"></i> </button> </span> <span class="input-group-addon"> <button class="btn default date-set" type="button"> <i class="fa fa-calendar"></i> </button> </span> </div> </div> </div>這是我的控制器$form = $this->input->post('form');$data['PUBLISH'] = date('Y/m/d H:i a', strtotime($form['date']));當我打印時$form['date'],結果是正常的,但是當我$form['date']以日期格式轉換時,它是錯誤的錯誤在哪里?
1 回答

臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
看起來您的輸入名稱和數組鍵不一致(“日期”與“日期”)。
Unix 時間戳相對于 1970 年 1 月 1 日,因此這是時間戳 0 的值。未定義的數組鍵將導致值為 null(并且可能在日志中出現通知/警告)。strtotime
當第一個參數為 null 時將返回 false,當傳遞給 null 時將被轉換為 0 date
,因此日期為 1970/01/01。
編輯
從您在評論中的附加信息來看,問題是您提供的日期格式無法被strtotime
. 您將需要使用不同的方法來解析您期望的格式。
您可以使用DateTime::createFromFormat
解析特定格式,然后使用DateTime::format
所需格式存儲它。例如:
$date=DateTime::createFromFormat("d F Y - H:i", $form["date"]); $data["PUBLISH"]=$date->format("Y/m/d H:i a");
- 1 回答
- 0 關注
- 97 瀏覽
添加回答
舉報
0/150
提交
取消