下面列出了怎么用org.joda.time.base.BaseDateTime的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public Object create(Object request, SpecimenContext context) {
if (!(request instanceof SpecimenType)) {
return new NoSpecimen();
}
SpecimenType type = (SpecimenType) request;
if (!BaseDateTime.class.isAssignableFrom(type.getRawType())) {
return new NoSpecimen();
}
try {
Date date = (Date) context.resolve(Date.class);
long instant = date.getTime();
DateTimeZone timeZone = (DateTimeZone)context.resolve(DateTimeZone.class);
return type.getRawType().getDeclaredConstructor(long.class, DateTimeZone.class).newInstance(instant, timeZone);
} catch (Exception e) {
e.printStackTrace();
return new NoSpecimen();
}
}
/** Pass components of {@code dt} to {@link #encodeDateTime(long, long, long, long, long, long)}. */
public static long encodeDateTime(BaseDateTime dt) {
return encodeDateTime(dt.getYear(),
dt.getMonthOfYear(),
dt.getDayOfMonth(),
dt.getHourOfDay(),
dt.getMinuteOfHour(),
dt.getSecondOfMinute());
}
/** Convert {@code dateTime} to milliseconds and {@link #encodeTimestamp(long, TExecutionContext)}. */
public static int encodeTimestamp(BaseDateTime dateTime, TExecutionContext context) {
return encodeTimestamp(dateTime.getMillis(), context);
}
public static boolean isValidTimestamp(BaseDateTime dt) {
long millis = dt.getMillis();
return (millis >= TIMESTAMP_MIN) && (millis <= TIMESTAMP_MAX);
}