将时间添加到字符串数据/时间

问题描述

我正在尝试将时间戳记传递给YYYY-MM-DD HH:MM:SS格式的API,但我需要操纵时间以增加5个小时。

在这里做错了吗?我需要先将其转换为JavaScript日期吗?

var manDate = "2020-08-16 16:15:00"
manDate.setHours(manDate.getHours() + 5);
data.manDate = manDate
console.log(manDate)

预期产量-2020-08-16 21:15:00

解决方法

为日期创建var时,需要添加'new Date()'方法。

var manDate = new Date("2020-08-16 16:15:00");
manDate.setHours(manDate.getHours() + 5);
console.log(manDate.getHours());

要记录小时数,请在log语句中再次使用getHour()。

,

这个问题曾被要求在Java中提供解决方案。以下是根据Java的答案。

Date newDate = DateUtils.addHours(oldDate,5);
,

使用simpleDateFormat格式化日期,然后将格式化的日期转换为日历并为其添加小时数。

尝试以下代码。

SimpleDateFormat sdfObj = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
sdfObj.parse("2020-08-16 16:15:00");                   
Calendar calendar = sdfObj.getCalendar();
calendar.add(Calendar.HOUR_OF_DAY,5);