首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时间阵列会话cakephp3

时间阵列会话cakephp3
EN

Stack Overflow用户
提问于 2017-01-30 04:37:23
回答 1查看 62关注 0票数 0

我有一个简单的问题,因为我只想将时间(以数组格式)转换为24小时时间字符串。我从用户输入中得到的时间问题,它将其放置在格式化不起作用的数组对象中。我从https://book.cakephp.org/3.0/en/core-libraries/time.html#conversion那里找不到答案

代码语言:javascript
复制
time format inputted from a form
'start_time' => [
        'hour' => '02',
        'minute' => '00',
        'meridian' => 'pm'
    ],

view//
   echo $this->Form->input('start_time', ['label' => 'Class Start Time','type' => 'time',
                  'interval' => 5,'timeFormat'=>12,'value'=>$startTime,]); 



 //controller   
      if ($this->request->is('post')) {

        debug($this->request->data['start_time']->i18nFormat('HH:mm:ss'));//cant use on an array



  //this works but is there   a better way
 $startTime = $this->request->data['start_time']['hour'].":".$this->request->data['start_time']['minute']." ". 
                      $this->request->data['start_time']['meridian'];
              $this->request->data['start_time'] = date("H:i:s", strtotime( $startTime)); 
                debug($this->request->data);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-30 08:09:43

您应该创建一个Time实例,因为$this->request->data['start_time']没有格式化:

代码语言:javascript
复制
use Cake\I18n\Time;
...
$StartTimeHour = $this->request->data['start_time']['hour'];
$StartTimeMinute = $this->request->data['start_time']['minute'];
$StartTimeMeridian = $this->request->data['start_time']['meridian'];

$time = new Time("${StartTimeHour}:${StartTimeMinute} ${StartTimeMeridian}");

echo $time->i18nFormat('HH:mm:ss');

*测试和工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41929093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档