Php 如何在json中拆分日期和时间?
我得到的日期时间是json格式的2012-02-06 16:302012-02-08 16:452012-02-10 16:30 这是我的密码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
<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()
更好吗?值只是放在文本框中。只是谈论另一个选项。它可能会在将来为您提供更大的灵活性。