2

我在 json 中得到这样的日期时间 2012-02-06 16:30,2012-02-08 16:45,2012-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>

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

4

4 回答 4

2

首先,我会改变 id#Date#Timeto#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>
于 2012-07-26T13:38:33.100 回答
2

这可能有效:

    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);
于 2012-07-26T13:40:47.597 回答
1
var date = '2012-02-06 16:30';
var date_parts = date.split(' ');
# date_parts[0] <- date
# date_parts[1] <- time
于 2012-07-26T13:38:27.780 回答
1

如果字符串包含有效日期,您只需将其转换为 Date 对象。

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

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

  • getTime() - 自 1/1/1970 @ 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)
于 2012-07-26T13:50:48.653 回答