【问题标题】:How to change the format of input type datetime-local?如何更改输入类型 datetime-local 的格式?
【发布时间】:2018-01-14 15:35:27
【问题描述】:

我给出一个类型为datetime-local的输入字段,

<input type="datetime-local" class="form-control" name="booking_checkin">

其中填写查看后,格式是这样的,

2017-08-06T02:32.

看起来很尴尬,我需要改变这种模式,

我想要这样的格式,

2017-08-06, 02:32

我很抱歉没有发布我尝试过的内容,因为在这里搜索了很多之后我什至没有启动想法来获得它.. 请帮我解决它..

【问题讨论】:

  • 你可以找到你的答案here。谢谢
  • 你不清楚,当你获取元素值时你得到那个字符串吗?如果是这样,这是一个有效的日期,您可以将其传递给new Date 以获得您想要的任何东西
  • 您在哪个浏览器上获得了所描述的行为?

标签: javascript html datetime input-type-file


【解决方案1】:

在服务器端更改date 格式

    <?php 
$date = date('Y-m-d, h:i',strtotime($_POST['booking_checkin']));
?>

【讨论】:

    【解决方案2】:

    获取值时,它是有效的日期字符串,您可以将其传递给new Date,然后根据需要解析各个值

    $('.form-control').on('change', function() {
    	var parsed = new Date(this.value);
      var ten    = function(x) { return x < 10 ? '0'+x : x};
      var date   = parsed.getFullYear() + '-' + (parsed.getMonth() + 1) + '-' + parsed.getDate();
      var time   = ten( parsed.getHours() ) + ':' + ten( parsed.getMinutes() );
      
      console.log( date + ', ' + time)
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="datetime-local" class="form-control" name="booking_checkin">

    为了简单起见,使用 jQuery,它与如何解析日期无关

    【讨论】:

    • 我会填写日期和时间,但是当我查看它时,格式是这样的2017-08-06T02:32,我需要像这样更改2017-08-06, 02:32。为了清楚地解释我正在填写日期和时间,就像你在答案中给出的输入一样,我也提交了表格,但它显示日期和时间的格式需要更改..
    • 输入本身的格式是本地的。我收到了01.12.2017 01:01,我没有听说有人在输入中获得 UTC 字符串,所以我认为这是获取的值,你可以用 javascript 更改它
    • 我得到一个连续模式,中间有字母T,我在这里不需要。如果我分配input type="datetime-local",我会得到像2017-08-06T02:32这样的输出只有这个..跨度>
    • 是的,这是一个有效的日期字符串,如果要更改它,要么在提交数据之前在客户端更改它,要么在服务器端更改它,大部分时间也支持该格式.您不能使该输入从获取值中返回任何其他内容
    猜你喜欢
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 2017-04-12
    • 2016-05-07
    • 2012-06-06
    • 1970-01-01
    相关资源
    最近更新 更多