关于date4j,简约的日期处理库(Java's Date Classes Must Die.) (二)

2014-11-24 07:40:09 · 作者: · 浏览: 2
Wednesday, April 9, 1958 at 3 AM
*
*----------------------------------------------------------------------
* ---
private void currentDateTime() {
DateTime now = DateTime.now(TimeZone.getDefault());
String result = now.format("YYYY-MM-DD hh:mm:ss");
log("Current date-time in default time zone : " + result);
// result Current date-time in default time zone : 2012-04-12 00:55:54
}

/**
* 年龄计算 what's the age of someone born may 16,1995
*/
private void ageIfBornOnCertainDate() {
DateTime today = DateTime.today(TimeZone.getDefault());
DateTime birthdate = DateTime.forDateOnly(1995, 5, 16);
int age = today.getYear() - birthdate.getYear();
// getDayOfYear获取距离年初的总天数
if (today.getDayOfYear() < birthdate.getDayOfYear()) {
age = age - 1;
}
log("Age of someone born May 16, 1995 is : " + age);
// result Age of someone born May 16, 1995 is : 16
}

/**
* 日期相距 How many days till the next December 25
*/
private void daysTillChristmas() {
DateTime today = DateTime.today(TimeZone.getDefault());
DateTime christmas = DateTime.forDateOnly(today.getYear(), 12, 25);
int result = 0;
if (today.isSameDayAs(christmas)) {
// do nothing
} else if (today.lt(christmas)) {
result = today.numDaysFrom(christmas);
} else if (today.gt(christmas)) {
DateTime christmasNextYear = DateTime.forDateOnly(
today.getYear() + 1, 12, 25);
result = today.numDaysFrom(christmasNextYear);
}
log("Number of days till Christmas : " + result);
// result Number of days till Christmas : 257
}

/**
* What day is 90 days from today
*/
private void whenIs90DaysFromToday() {
DateTime today = DateTime.today(TimeZone.getDefault());
log("90 days from today is : "
+ today.plusDays(90).format("YYYY-MM-DD"));
// result 90 days from today is : 2012-07-11
}

/**
* 日期相差
*/
private void dateDifference() {
// DayOverflow.Abort result throw Exception
// DayOverflow.Spillover result 2011-05-01
// DayOverflow.LastDay result 2011-04-30
// DayOverflow.FirstDay result 2011-05-01
// public enum DayOverflow {
/** Coerce the day to the last day of the month. */
// LastDay,
/** Coerce the day to the first day of the next month. */
// FirstDay,
/** Spillover the day into the next month. */
// Spillover,
/** Throw a RuntimeException. */
// Abort;
// }
/**
* @param aNumYears
* positive, required, in range 0 9999
* @param aNumMonths
* positive, required, in range 0 9999
* @param aNumDays
* positive, required, in range 0 9999
* @param aNumHours
* positive, required, in range 0 9999
* @param aNumMinutes
* positive, required, in range 0 9999
* @param aNumSeconds
* positive, required, in range 0 9999 method plus(Integer
* aNumYears, Integer aNumMonths, Integer aNumDays, Integer
* aNumHours, Integer aNumMinutes, Integer aNumSeconds,
* DayOverflow aDayOverflow)
*
*/
DateT