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

Php 如何在json中拆分日期和时间?,php,javascript,jquery,json,Php,Javascript,Jquery,Json,我得到的日期时间是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(ind

我得到的日期时间是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>

var date=JSON.parse(“”);
$.each(日期、函数(索引、值){
开关(索引){
案例0:
美元(“#日期”).val(价值);
$(“#时间”).val(价值);
案例1:
美元(“#日期1”).val(价值);
$(“#Time1”).val(值);
案例2:
美元(“#日期2”).val(价值);
$(“#Time2”).val(值);
}
});
这里我想在日期字段中传递日期在时间字段中传递时间。 请帮帮我

var日期='2012-02-06 16:30';
var date = '2012-02-06 16:30';
var date_parts = date.split(' ');
# date_parts[0] <- date
# date_parts[1] <- time
var date_parts=分割日期(“”);
#日期部分[0]首先,我会将
#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 date=JSON.parse(“”);
$.each(日期、函数(索引、值){
//将日期/时间字符串拆分为包含两项的数组
//(0=日期,1=时间)
var片段=分割日期(“”);
$(“#日期”+索引).val(件[0]);
$(“#Time”+index).val(件[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);
var new_arr=[];
var a=“2012-02-06 16:302012-02-08 16:452012-02-10 16:30”。拆分(“,”;

对于(var i=0;i,若字符串包含有效日期,则可以将其转换为日期对象

  d = new Date("2012-02-06 16:30")
然后您应该可以访问Date对象的所有方法

  d = new Date("2012-02-06 16:30")
  • 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)

你确定你得到的是
$this->Date
作为json字符串我不想再生活在这个星球上了…你的
开关中有一个巨大的WTF。你需要的是
$(“#Date”+索引)
;时间的情况也是如此。如果你不能将这些字段重命名为
#Date0
/
#Time0
,那么你只需要为
index==0
设置一个case,如果你不能将这些字段重命名为
#Date0
/Hi swapnilsarwe,是的,我得到了json字符串。@ThiefMaster这是我在下面建议的。只有当他用
0
重新命名第一组日期/时间输入时,它才会起作用>在他们的ID中,不应该是
date\u parts[0]
date\u parts[1]
What!?这段代码根本不起任何作用。你循环的次数与字符串中的字符数相同,并试图将每个字符分割成一个用逗号分割的数组??这不仅不能解决海报的问题,而且回答了一个完全不同的问题。@Dutchie432-这是我第一眼看到的,but第一行有
.split()
最后。所以shreedhar按照我听起来的方式解释了这个问题,就像原始字符串需要先拆分为三个日期/时间。这很公平。那样的话,他为什么要在second split语句中用逗号拆分呢?仍然没有意义。它应该是一个空格。是的,我同意,它应该是用于second split的空格直到大部分代码都是毫无意义的,因为它只会复制海报上已经出现的循环。
split()
行才是最重要的,而这段代码会生成一个数组,而数组是不需要的。坦率地说,对于那些显然需要基本知识帮助的人(海报),这比任何东西都更让人困惑.嗨,达奇,当我把日期和时间分开时,我变得像这样2012-02-06,16:30。我能做什么?这不是你想要的吗?你看到它用逗号写出来,因为它是两个项目的数组。你更新了这些行吗?
$(“#日期”+索引)。val(片段[0])
并用
片段[0]替换
value
?很高兴能为您提供帮助。愉快的编码。这比只对字符串执行
split()
更好吗?值只是放在文本框中。只是谈论另一个选项。它可能会在将来为您提供更大的灵活性。