我有以下代码来获取日期时间UTC。
public static Date GetUTCdatetimeAsDate()
{
return StringDateToDate(GetUTCdatetimeAsString());
}
public static String GetUTCdatetimeAsString()
{
final SimpleDateFormat sdf = new SimpleDateFormat(DATEFORMAT);
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
final String utcTime = sdf.format(new Date());
return utcTime;
}
public static Date StringDateToDate(String StrDate)
{
Date dateToReturn = null;
SimpleDateFormat dateFormat = new SimpleDateFormat(DATEFORMAT);
try
{
dateToReturn = (Date)dateFormat.parse(StrDate);
}
catch (ParseException e)
{
e.printStackTrace();
}
return dateToReturn;
}
现在我想使用GETUTCdatetimeAsDate,如果我得到例如11/22/2014 03:12那么会议记录将向上舍入到最接近的5分钟。所以在这种情况下将是2014年11月22日03:15。如果是2014年11月22日03:31那将是11/22/2014 03:35。
关于如何实现这一目标的任何想法?
答案 0 :(得分:3)
public static Date StringDateToDate(String StrDate) {
Date dateToReturn = null;
SimpleDateFormat dateFormat = new SimpleDateFormat(DATEFORMAT);
try {
dateToReturn = (Date) dateFormat.parse(StrDate);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
Calendar c = Calendar.getInstance();
c.setTime(dateToReturn);
int minute = c.get(Calendar.MINUTE);
minute = minute % 5;
if (minute != 0) {
int minuteToAdd = 5 - minute;
c.add(Calendar.MINUTE, minuteToAdd);
}
return c.getTime();
}