下面列出了org.joda.time.DateTimeField#roundHalfEven ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void testField(DateTimeField fieldA, DateTimeField fieldB, long millis,
int value, long millis2)
{
int a, b;
long x, y;
boolean m, n;
// get test
a = fieldA.get(millis);
b = fieldB.get(millis);
testValue(fieldA, fieldB, "get", millis, a, b);
// getMaximumValue test
// Restrict this test to the fields that matter.
Class fieldClass = fieldA.getClass();
if (fieldClass == TestGJDayOfYearField.class ||
fieldClass == TestGJDayOfMonthField.class ||
fieldClass == TestGJWeekOfWeekyearField.class) {
a = fieldA.getMaximumValue(millis);
b = fieldB.getMaximumValue(millis);
testValue(fieldA, fieldB, "getMaximumValue", millis, a, b);
}
// set test
a = getWrappedValue
(value, fieldA.getMinimumValue(millis), fieldA.getMaximumValue(millis));
b = getWrappedValue
(value, fieldB.getMinimumValue(millis), fieldB.getMaximumValue(millis));
if (iMode == JULIAN_MODE && a == 0
&& (fieldA.getName().equals("year") || fieldA.getName().equals("weekyear"))) {
// Exclude setting Julian year of zero.
} else {
x = fieldA.set(millis, a);
y = fieldB.set(millis, b);
testMillis(fieldA, fieldB, "set", millis, x, y, a, b);
}
// roundFloor test
x = fieldA.roundFloor(millis);
y = fieldB.roundFloor(millis);
testMillis(fieldA, fieldB, "roundFloor", millis, x, y);
// roundCeiling test
x = fieldA.roundCeiling(millis);
y = fieldB.roundCeiling(millis);
testMillis(fieldA, fieldB, "roundCeiling", millis, x, y);
// roundHalfFloor test
x = fieldA.roundHalfFloor(millis);
y = fieldB.roundHalfFloor(millis);
testMillis(fieldA, fieldB, "roundHalfFloor", millis, x, y);
// roundHalfEven test
x = fieldA.roundHalfEven(millis);
y = fieldB.roundHalfEven(millis);
testMillis(fieldA, fieldB, "roundHalfEven", millis, x, y);
// remainder test
x = fieldA.remainder(millis);
y = fieldB.remainder(millis);
testMillis(fieldA, fieldB, "remainder", millis, x, y);
// add test
x = fieldA.add(millis, value);
y = fieldB.add(millis, value);
testMillis(fieldA, fieldB, "add", millis, x, y);
// addWrapField test
x = fieldA.addWrapField(millis, value);
y = fieldB.addWrapField(millis, value);
testMillis(fieldA, fieldB, "addWrapField", millis, x, y);
// getDifference test
x = fieldA.getDifference(millis, millis2);
y = fieldB.getDifference(millis, millis2);
try {
testValue(fieldA, fieldB, "getDifference", millis, x, y);
} catch (RuntimeException e) {
System.out.println("Test datetime 2: " + makeDatetime(millis2));
throw e;
}
// isLeap test
m = fieldA.isLeap(millis);
n = fieldB.isLeap(millis);
testBoolean(fieldA, fieldB, "isLeap", millis, m, n);
// getLeapAmount test
a = fieldA.getLeapAmount(millis);
b = fieldB.getLeapAmount(millis);
testValue(fieldA, fieldB, "getLeapAmount", millis, a, b);
}
private void testField(DateTimeField fieldA, DateTimeField fieldB, long millis,
int value, long millis2)
{
int a, b;
long x, y;
boolean m, n;
// get test
a = fieldA.get(millis);
b = fieldB.get(millis);
testValue(fieldA, fieldB, "get", millis, a, b);
// getMaximumValue test
// Restrict this test to the fields that matter.
Class fieldClass = fieldA.getClass();
if (fieldClass == TestGJDayOfYearField.class ||
fieldClass == TestGJDayOfMonthField.class ||
fieldClass == TestGJWeekOfWeekyearField.class) {
a = fieldA.getMaximumValue(millis);
b = fieldB.getMaximumValue(millis);
testValue(fieldA, fieldB, "getMaximumValue", millis, a, b);
}
// set test
a = getWrappedValue
(value, fieldA.getMinimumValue(millis), fieldA.getMaximumValue(millis));
b = getWrappedValue
(value, fieldB.getMinimumValue(millis), fieldB.getMaximumValue(millis));
if (iMode == JULIAN_MODE && a == 0
&& (fieldA.getName().equals("year") || fieldA.getName().equals("weekyear"))) {
// Exclude setting Julian year of zero.
} else {
x = fieldA.set(millis, a);
y = fieldB.set(millis, b);
testMillis(fieldA, fieldB, "set", millis, x, y, a, b);
}
// roundFloor test
x = fieldA.roundFloor(millis);
y = fieldB.roundFloor(millis);
testMillis(fieldA, fieldB, "roundFloor", millis, x, y);
// roundCeiling test
x = fieldA.roundCeiling(millis);
y = fieldB.roundCeiling(millis);
testMillis(fieldA, fieldB, "roundCeiling", millis, x, y);
// roundHalfFloor test
x = fieldA.roundHalfFloor(millis);
y = fieldB.roundHalfFloor(millis);
testMillis(fieldA, fieldB, "roundHalfFloor", millis, x, y);
// roundHalfEven test
x = fieldA.roundHalfEven(millis);
y = fieldB.roundHalfEven(millis);
testMillis(fieldA, fieldB, "roundHalfEven", millis, x, y);
// remainder test
x = fieldA.remainder(millis);
y = fieldB.remainder(millis);
testMillis(fieldA, fieldB, "remainder", millis, x, y);
// add test
x = fieldA.add(millis, value);
y = fieldB.add(millis, value);
testMillis(fieldA, fieldB, "add", millis, x, y);
// addWrapField test
x = fieldA.addWrapField(millis, value);
y = fieldB.addWrapField(millis, value);
testMillis(fieldA, fieldB, "addWrapField", millis, x, y);
// getDifference test
x = fieldA.getDifference(millis, millis2);
y = fieldB.getDifference(millis, millis2);
try {
testValue(fieldA, fieldB, "getDifference", millis, x, y);
} catch (RuntimeException e) {
System.out.println("Test datetime 2: " + makeDatetime(millis2));
throw e;
}
// isLeap test
m = fieldA.isLeap(millis);
n = fieldB.isLeap(millis);
testBoolean(fieldA, fieldB, "isLeap", millis, m, n);
// getLeapAmount test
a = fieldA.getLeapAmount(millis);
b = fieldB.getLeapAmount(millis);
testValue(fieldA, fieldB, "getLeapAmount", millis, a, b);
}