【问题标题】:Convert AM/PM to 24 hours clock in Laravel input field在 Laravel 输入字段中将 AM/PM 转换为 24 小时制
【发布时间】:2019-01-23 17:57:34
【问题描述】:

问题:我正在结合使用 laravel 表单和 Carbon 来尝试将日期值传递到我的数据库。我正在尝试将输入字段格式切换为 24 小时而不是 AM/PM,但我不断获得标准的 AM/PM 格式。我尝试了->format(),但没有找到正确的解决方案。

问题:如何将输入字段的 AM/PM 格式替换为 24 小时制?

我的代码:

{{Form::date('date', \Carbon\Carbon::now(),['class' => 'form-control'])}}
{{Form::time('time', \Carbon\Carbon::now()->timezone('Europe/Brussels'),['class' => 'form-control'])}}

// Input field values:

// Date: 08/16/2018 , Time: 07:47 PM -> 19:47:00

改变格式时的输入结果:

{{Form::time('time', \Carbon\Carbon::now()->timezone('Europe/Brussels')->format('H:i:s'),['class' => 'form-control'])}}

// Input value of time:
// Time: 08:00:29 PM 

【问题讨论】:

    标签: php laravel datetime php-carbon


    【解决方案1】:

    您需要将时间字段更改为以下内容

    {{Form::time('time', \Carbon\Carbon::now()->timezone('Europe/Brussels')->format('H:i:s'),['class' => 'form-control'])}}
    

    解释格式;
    H - 24 小时制,尾随零
    i - 带有尾随零的分钟
    s - 带有尾随零的秒数

    您可以在PHP Date查看所有日期/时间变量

    【讨论】:

    • 我编辑了我的帖子,我尝试了这种格式,但我仍然得到 PM 结果
    • 你在使用任何 javascript 插件吗?
    • 完全没有,也许 laravel 'time' 输入会阻止它更改为 24 小时制?
    • 如果您查看源代码 - 它是否按照您的意愿显示时间?还有你用的是什么浏览器。当我在本地环境中运行它时,它会按照您的预期工作
    • 我检查了源代码,输入值返回:<input name="time" type="time" value="20:30:55" class="form-control"> 这是正确的,Firefox 和 Chrome 都显示这个
    【解决方案2】:

    你需要使用 Carbon 实例的 format() 方法

    \Carbon\Carbon::now()->format('H:i:s') //24 hour format
    \Carbon\Carbon::now()->format('g:i a') //12 hour format
    

    now()->format('H:i:s') //24 hour format
    now()->format('g:i a') //12 hour format
    

    now() 是 Carbon\Carbon 的辅助函数和实例

    所以

    \Carbon\Carbon::now() is same as now()
    

    【讨论】:

    • 我无法编辑您的答案,因为我的版本太短了,但是,我认为“14 小时格式”应该是“12 小时格式”
    猜你喜欢
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多