如何在json中拆分日期和时间

how to split date and time in json?

本文关键字:日期 时间 拆分 json      更新时间:2024-02-24

我在json中得到了这样的日期时间2012-02-06 16:302012-02-08 16:452012-02-10 16:30
这是我的密码。

<script type="text/javascript">
<?php if($this->Date) : ?>
var date = JSON.parse('<?=$this->Date?>');
$.each(date, function(index, value) {
    switch(index) {
      case 0:
        $("#Date").val(value);
        $("#Time").val(value);
      case 1:
        $("#Date1").val(value);
        $("#Time1").val(value);
      case 2:
        $("#Date2").val(value);
        $("#Time2").val(value);
     }
});
<?php endif; ?>  
</script>

在这里,我想在日期字段中传递日期,在时间字段中传递时间。请帮我解决

首先,我会将#Date#Time的id更改为#Date0#Time0,以保持一致。通过这种方式,您可以完全摆脱switch语句,并执行类似的操作,这大大减少了编码,并且可以在不更改代码的情况下扩展到更多项。

问题的关键是split()函数,它将把你的日期字符串分割成一个数组。

<script type="text/javascript">
    <?php if($this->Date) : ?>
        var date = JSON.parse('<?=$this->Date?>');
        $.each(date, function(index, value) {
            // Split the Date/Time string into an array with two items
            //(0=date, 1=time)
            var pieces = date.split(' ');
            $("#Date"+index).val(pieces[0]);
            $("#Time"+index).val(pieces[1]);
        });
    <?php endif; ?>  
</script>

这可能有效:

    var new_arr = [];
    var a = "2012-02-06 16:30,2012-02-08 16:45,2012-02-10 16:30".split(",");
    for(var i =0; i<a.length; i++)
    { 
      new_arr.push(a[i].split(' '));
    }
   console.log(new_arr);
var date = '2012-02-06 16:30';
var date_parts = date.split(' ');
# date_parts[0] <- date
# date_parts[1] <- time

如果字符串包含有效日期,则可以将其转换为date对象。

  d = new Date("2012-02-06 16:30")

那么您应该可以访问Date对象的所有方法。

  • getTime()-自1970年1月1日上午12:00起的毫秒数
  • getSeconds()-秒数(0-59)
  • getMinutes()-分钟数(0-59)
  • getHours()-小时数(0-23)
  • getDay()-一周中的某一天(0-6)。0=周日,6=周六
  • getDate()-一个月的哪一天(0-31)
  • getMonth()-月数(0-11)
  • getFullYear()-四位数年份(1970-9999)