将日期转换为与另一个日期相同的格式

时间:2018-02-23 04:45:12

标签: java talend date-formatting date-difference java.util.date

我有一个要求,日期差异应该根据输入日期和当前日期在 Talend java平台中计算。 在那种情况下,我可以使用          TalendDate.diffDate(date1,date2):long 方法,其中date1和date2的类型为日期

所以我可以在我自己的方法中调用该方法,

public static long findDateDiff(Date date2){ 
   Date date1 = new Date(); //current date of format Fri Feb 23 09:37:33 IST 2018
   // date2 format is 'dd/MM/yyyy'
   long diff = TalendDate.diffDate(date1,date2);
   return diff
}

此处,参数date2的类型为日期和格式' dd / MM / yyyy'。但是当我得到当前日期时,它的格式不同,所以我在传递不同格式的日期方面遇到了麻烦。

如何将当前日期格式转换为' dd / MM / yyyy'进入相同的变量date2?

日期date1 =新日期(); //格式的当前日期Fri Feb 23 09:37:33 IST 2018 String sDate = new SimpleDateFormat.format(date1); //仅返回String格式

如果我使用上面的方法 SimpleDateFormat.format(Date),它会返回一个 String 值,如何将值传递给diffDate(date1,date2)两个参数类型都是Date?

所以我只需要将当前日期转换为指定的格式并将结果存储到相同的Date变量中,而不是将其作为字符串。

请帮我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这是Talend的主题之一,它一再出现有很多原因。

如前所述,实际Date仅包含数值,格式不同,并且未与日期值相关联。您正在Talend中使用日期函数,只需确保两个值都是实际日期(如果需要,解析一个字符串)。采用正确的数据类型将有很大帮助。

由于这种情况经常发生,I created an article about this topic

相关问题