javascript在数组中添加日期和时间对象
因此,我有一个时间和日期数组,我想将appointmateDate和appointmentTime合并为iso格式,并获得一个新的时间范围数组,这是可能的使用javascript在数组中添加日期和时间对象,javascript,arrays,loops,Javascript,Arrays,Loops,因此,我有一个时间和日期数组,我想将appointmateDate和appointmentTime合并为iso格式,并获得一个新的时间范围数组,这是可能的使用setHours。 使用array#map循环数组,使用appointmentDate创建新的Date对象,然后使用setHours和appointmentTime设置时间 注意:20:51 am不是有效时间,如果是24小时格式,则不需要am,pm const 时间=[{任命日期:“2021-12-24T23:00:00.000Z”,任命
setHours
。
使用array#map
循环数组,使用appointmentDate
创建新的Date
对象,然后使用setHours
和appointmentTime
设置时间
注意:20:51 am
不是有效时间,如果是24小时格式,则不需要am
,pm
const
时间=[{任命日期:“2021-12-24T23:00:00.000Z”,任命时间:“17:51 am”},{任命日期:“2021-12-24T23:00:00.000Z”,任命时间:“18:51 am”},{任命日期:“2021-12-24T23:00:00.000Z”,任命时间:“19:51 am”},{任命日期:“2021-12-24T23:00:00.000Z”,任命时间:“20:51 am”},
res=time.map({appointmentDate,appointmentTime})=>{
施工日期=新日期(任命日期);
常数小时=任命时间切片(0,2);
const min=任命时间切片(3,5);
日期设置小时数(小时,分钟)
返回日期。toISOString();
});
控制台日志(res)代码>使用设置小时数
。
使用array#map
循环数组,使用appointmentDate
创建新的Date
对象,然后使用setHours
和appointmentTime
设置时间
注意:20:51 am
不是有效时间,如果是24小时格式,则不需要am
,pm
const
时间=[{任命日期:“2021-12-24T23:00:00.000Z”,任命时间:“17:51 am”},{任命日期:“2021-12-24T23:00:00.000Z”,任命时间:“18:51 am”},{任命日期:“2021-12-24T23:00:00.000Z”,任命时间:“19:51 am”},{任命日期:“2021-12-24T23:00:00.000Z”,任命时间:“20:51 am”},
res=time.map({appointmentDate,appointmentTime})=>{
施工日期=新日期(任命日期);
常数小时=任命时间切片(0,2);
const min=任命时间切片(3,5);
日期设置小时数(小时,分钟)
返回日期。toISOString();
});
控制台日志(res)代码>不太清楚的是这段时间的工作原理。如中所示,17:51 am
不是有效的小时:分钟时间段,因为am表示12小时时钟,但17表示24小时时钟。但是我注意到所有的日期字符串都包含23小时的等待时间,因此如果该时间部分只是minute:second
值。如果是这种情况,下面的一位应该可以工作
但是,这仍然不包括时区(由ISO格式的Z表示)。此外,还不太清楚“范围”是什么意思,因为它们只是单独的日期字符串,而不是彼此之间的关系
我建议澄清你的问题。无论如何,希望这有帮助:
const time = [
{
appointmentDate: '2021-12-24T23:00:00.000Z',
appointmentTime: '17:51 am',
},
{
appointmentDate: '2021-12-24T23:00:00.000Z',
appointmentTime: '18:51 am',
},
{
appointmentDate: '2021-12-24T23:00:00.000Z',
appointmentTime: '19:51 am',
},
{
appointmentDate: '2021-12-24T23:00:00.000Z',
appointmentTime: '20:51 am',
},
]
time.map(obj => {
let newTimeString = obj.appointmentTime.substr(0, 5)
return obj.appointmentDate.replace('00:00.000Z', newTimeString + '.000Z')
})
不太清楚的是,这段时间的预期效果如何。如中所示,17:51 am
不是有效的小时:分钟时间段,因为am表示12小时时钟,但17表示24小时时钟。但是我注意到所有的日期字符串都包含23小时的等待时间,因此如果该时间部分只是minute:second
值。如果是这种情况,下面的一位应该可以工作
但是,这仍然不包括时区(由ISO格式的Z表示)。此外,还不太清楚“范围”是什么意思,因为它们只是单独的日期字符串,而不是彼此之间的关系
我建议澄清你的问题。无论如何,希望这有帮助:
const time = [
{
appointmentDate: '2021-12-24T23:00:00.000Z',
appointmentTime: '17:51 am',
},
{
appointmentDate: '2021-12-24T23:00:00.000Z',
appointmentTime: '18:51 am',
},
{
appointmentDate: '2021-12-24T23:00:00.000Z',
appointmentTime: '19:51 am',
},
{
appointmentDate: '2021-12-24T23:00:00.000Z',
appointmentTime: '20:51 am',
},
]
time.map(obj => {
let newTimeString = obj.appointmentTime.substr(0, 5)
return obj.appointmentDate.replace('00:00.000Z', newTimeString + '.000Z')
})