【问题标题】:Puppeteer - How to change time input to 24 hour format?Puppeteer - 如何将时间输入更改为 24 小时格式?
【发布时间】:2019-03-04 02:34:13
【问题描述】:

如何将时间输入改为 24 小时格式?我用它在 Jenkins 管道中进行测试,测试错过了 am/pm 输入。我的目标用户不需要 am/pm 输入。

我已经将语言环境更改为我的国家 id 并重新启动 Linux 服务器

LANG=id_ID.UTF-8
LANGUAGE=
LC_CTYPE="id_ID.UTF-8"
LC_NUMERIC="id_ID.UTF-8"
LC_TIME="id_ID.UTF-8"
LC_COLLATE="id_ID.UTF-8"
LC_MONETARY="id_ID.UTF-8"
LC_MESSAGES="id_ID.UTF-8"
LC_PAPER="id_ID.UTF-8"
LC_NAME="id_ID.UTF-8"
LC_ADDRESS="id_ID.UTF-8"
LC_TELEPHONE="id_ID.UTF-8"
LC_MEASUREMENT="id_ID.UTF-8"
LC_IDENTIFICATION="id_ID.UTF-8"
LC_ALL=

这行不通,

还尝试添加 lang args 以启动 --window-size=${width},${height} --lang=id 也不行。

当 puppeteer 使用 time 类型渲染输入时会发生这种情况

<input type="time" name="time" value="" class="form-control">

在我的本地计算机上,它呈现

在 Linux Jenkins 服务器中,我的屏幕截图呈现

【问题讨论】:

  • 你能更清楚你的问题吗?哪个时间输入到 puppeteer?或者显示一些关于它的代码
  • @ChuongTran 好的,我更新了问题,当有time 输入时会发生这种情况。我想它使用 am/pm 字段呈现。

标签: puppeteer


【解决方案1】:

我看到 document type=time ,12 或 24 小时格式,具体取决于操作系统区域设置。

检查语言环境:

$ locale

LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

更改区域设置:

$ sudo update-locale LANG=LANG=en_IN.UTF-8 LANGUAGE

$ sudo localectl set-locale LANG=en_IN.UTF-8

您是否尝试将服务器的区域设置更改为与本地相同?希望它有效:)

已编辑:如果您不希望时间格式取决于系统的区域设置,您可以按照此post(使用timepicker.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多