//大家好,
所以,我有方法
public void init() {
list = taskManager.getList();
list.sort((object1, object2) -> ((String) object2.getProperties().get("bpm_startDate"))
.compareTo((String) object1.getProperties().get("bpm_startDate")));
}
此方法按日期对列表进行排序,列表从 REST 服务填充,因此日期采用字符串格式。
<p:column headerText="#{msg.date}" >
<h:outputText value="#{task.properties.bpm_startDate.substring(0,16).replace('T',' ')}">
</h:outputText>
</p:column>
这就是我在向用户显示日期之前“截断”日期的所有冗余部分的方法。
问题是,如何添加 3 小时至今?
最佳答案
你可以使用java.util.Calendar和DateFormat
//Parse String for Date
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
Date myDate = format.parse(stringDate);
//Use Calendar to add 3 hours
Calendar c = Calendar.getInstance();
c.setTime(myDate);
c.add(Calendar.HOUR_OF_DAY, 3);
//Retransform date to String
String newDate= format.format(c.getTime());
请记住将“yyyy/MM/dd”替换为official documentation之后的实际格式。
关于JAVA修改String格式的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33236183/