如何在json中分割日期和时间?

时间:2012-07-26 13:34:39

标签: php javascript jquery json

我正在得到这样的约会时间2012-02-06 16:30,2012-02-08 16:45,2012-02-10 16:30在json。
这是我的代码。

<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>

这里我想在日期提交的时间字段中传递日期。 请帮帮我

4 个答案:

答案 0 :(得分:2)

首先,我会将#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>

答案 1 :(得分:1)

var date = '2012-02-06 16:30';
var date_parts = date.split(' ');
# date_parts[0] <- date
# date_parts[1] <- time

答案 2 :(得分:1)

这可能有效:

    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);

答案 3 :(得分:1)

如果string包含有效日期,您可以将其转换为Date对象。

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

然后你应该有权访问Date对象的所有方法。

  • getTime() - 自1970年1月1日@ 12:00 AM
  • 以来的毫秒数
  • getSeconds() - 秒数(0-59)
  • getMinutes() - 分钟数(0-59)
  • getHours() - 小时数(0-23)
  • getDay() - 星期几(0-6)。 0 =星期天,...,6 =星期六
  • getDate() - 月中的某一天(0-31)
  • getMonth() - 月份数(0-11)
  • getFullYear() - 四位数年份(1970-9999)