1.获取UTC时间:
Calendar cal = java.util.Calendar.getInstance();
// 1 Get offset.
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
// 2 Get summer offset
int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);
// 3 Remove Offset
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
// 4 Get UTC time.
System.out.println("UTC:" + new Date(cal.getTimeInMillis()));
2.自定义Date
Calendar startCalendar = new GregorianCalendar();
Calendar endCalendar = new GregorianCalendar();
startCalendar.setTime(new Date());
// startCalendar.set(Calendar.MONTH, Calendar.APRIL);
startCalendar.set(Calendar.MONTH, Calendar.FEBRUARY);
startCalendar.set(Calendar.HOUR_OF_DAY, 0);
startCalendar.set(Calendar.MINUTE, 0);
startCalendar.set(Calendar.SECOND, 0);
startCalendar.set(Calendar.MILLISECOND, 0);
endCalendar.setTime(new Date());
endCalendar.set(Calendar.MONTH, Calendar.FEBRUARY);
endCalendar.set(Calendar.HOUR_OF_DAY, 23);
endCalendar.set(Calendar.MINUTE, 59);
endCalendar.set(Calendar.SECOND, 59);
endCalendar.set(Calendar.MILLISECOND, 999);
int a_difference = 0;
if (a_difference < 0) {
startCalendar.add(Calendar.MONTH, a_difference);
}
else if (a_difference == 0) {
startCalendar.set(Calendar.DAY_OF_MONTH, 1);
endCalendar.add(Calendar.MONTH, 1);
endCalendar.set(Calendar.DAY_OF_MONTH, 0);
}
else {
endCalendar.add(Calendar.MONTH, a_difference);
}