private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { stream.defaultReadObject(); setGregorianChange(new Date(gregorianCutover)); } }
public GregorianCalendar get(TimeZone tz, Date date) { if (calendar == null) { calendar = new GregorianCalendar(tz, Locale.US); calendar.setGregorianChange(new Date(Long.MIN_VALUE)); // never use Julian calendar } else { // At least on Java 6, calendar.getTimeZone is slow due to a bug, so we need lastlySetTimeZone. if (lastlySetTimeZone != tz) { // Deliberately `!=` instead of `!<...>.equals()` calendar.setTimeZone(tz); lastlySetTimeZone = tz; } } calendar.setTime(date); return calendar; }
public Date calculate(int era, int year, int month, int day, int hours, int minutes, int secs, int millisecs, boolean addOneDay, TimeZone tz) { if (calendar == null) { calendar = new GregorianCalendar(tz, Locale.US); calendar.setLenient(false); calendar.setGregorianChange(new Date(Long.MIN_VALUE)); // never use Julian calendar } else { // At least on Java 6, calendar.getTimeZone is slow due to a bug, so we need lastlySetTimeZone. if (lastlySetTimeZone != tz) { // Deliberately `!=` instead of `!<...>.equals()` calendar.setTimeZone(tz); lastlySetTimeZone = tz; } } calendar.set(Calendar.ERA, era); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month); calendar.set(Calendar.DAY_OF_MONTH, day); calendar.set(Calendar.HOUR_OF_DAY, hours); calendar.set(Calendar.MINUTE, minutes); calendar.set(Calendar.SECOND, secs); calendar.set(Calendar.MILLISECOND, millisecs); if (addOneDay) { calendar.add(Calendar.DAY_OF_MONTH, 1); } return calendar.getTime(); }
private static GregorianCalendar isoCalendar() { GregorianCalendar calendar = new GregorianCalendar(UTC); calendar.setGregorianChange(new Date(Long.MIN_VALUE)); return calendar; } }
GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.setGregorianChange(new Date(Long.MIN_VALUE));
GregorianCalendar date = new GregorianCalendar(); date.clear(); //Use Gregorian calendar for all values date.setGregorianChange(new Date(Long.MIN_VALUE)); date.setTimeZone( TimeZone.getTimeZone("UTC")); date.setTime(new Date(-62135596800000L)); System.out.println( date.get(GregorianCalendar.YEAR) + "-" + (date.get(GregorianCalendar.MONTH) + 1) + "-" + date.get(GregorianCalendar.DAY_OF_YEAR) + " " + date.get(GregorianCalendar.HOUR_OF_DAY) + ":" + date.get(GregorianCalendar.MINUTE) + ":" + date.get(GregorianCalendar.SECOND) + "." + date.get(GregorianCalendar.MILLISECOND) ); //Prints 1-1-1 0:0:0.0
/** * Ensures that the given {@link Calendar} is configured to be compatible * with how Access handles dates. Specifically, alters the gregorian change * (the java default gregorian change switches to julian dates for dates pre * 1582-10-15, whereas Access uses <a href="https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar">proleptic gregorian dates</a>). */ public static Calendar toCompatibleCalendar(Calendar cal) { if(cal instanceof GregorianCalendar) { ((GregorianCalendar)cal).setGregorianChange(new Date(Long.MIN_VALUE)); } return cal; }
private static GregorianCalendar isoCalendar() { GregorianCalendar calendar = new GregorianCalendar(UTC); calendar.setGregorianChange(new Date(Long.MIN_VALUE)); return calendar; } }
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { stream.defaultReadObject(); setGregorianChange(new Date(gregorianCutover)); } }
private static GregorianCalendar isoCalendar() { GregorianCalendar calendar = new GregorianCalendar(UTC); calendar.setGregorianChange(new Date(Long.MIN_VALUE)); return calendar; } }
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { stream.defaultReadObject(); setGregorianChange(new Date(gregorianCutover)); } }
public static void main(String...args) { GregorianCalendar gcal = new GregorianCalendar(); gcal.clear(); gcal.setGregorianChange(new Date(Long.MIN_VALUE)); gcal.set(Calendar.YEAR, 1); // or any other year before 1582 gcal.set(Calendar.MONTH, Calendar.JANUARY); gcal.set(Calendar.DATE, 1); Date d = gcal.getTime(); System.out.println(d); }
private static SimpleDateFormat createTimestampFormat() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC")); // We use Proleptic Gregorian Calendar (i.e., Gregorian calendar extends // backwards to year one) for timestamp formating. calendar.setGregorianChange(new Date(Long.MIN_VALUE)); sdf.setCalendar(calendar); return sdf; }
private static SimpleDateFormat createTimestampFormat() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC")); // We use Proleptic Gregorian Calendar (i.e., Gregorian calendar extends // backwards to year one) for timestamp formating. calendar.setGregorianChange(new Date(Long.MIN_VALUE)); sdf.setCalendar(calendar); return sdf; }
@Override public BigdataLiteralImpl createXSDDateTime(final long timestamp) { final TimeZone tz = TimeZone.getDefault()/*getTimeZone("GMT")*/; final GregorianCalendar c = new GregorianCalendar(tz); c.setGregorianChange(new Date(Long.MIN_VALUE)); c.setTimeInMillis(timestamp); final XMLGregorianCalendar xmlGC = DateTimeExtension.datatypeFactorySingleton.newXMLGregorianCalendar(c); return createLiteral(xmlGC); }
private static SimpleDateFormat createTimestampFormat() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC")); // We use Proleptic Gregorian Calendar (i.e., Gregorian calendar extends // backwards to year one) for timestamp formating. calendar.setGregorianChange(new Date(Long.MIN_VALUE)); sdf.setCalendar(calendar); return sdf; }
GregorianCalendar c = new GregorianCalendar(); c.setGregorianChange(new Date(System.currentTimeMillis() + 100000000)); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd mm:HH:ss"); df.setCalendar(c); String d = df.format(new Date());
@Override public Calendar from(ZonalDateTime time4j) { Date jud = TemporalType.JAVA_UTIL_DATE.from(time4j.toMoment()); TimeZone tz = TemporalType.JAVA_UTIL_TIMEZONE.from(time4j.getTimezone0()); GregorianCalendar gcal = new GregorianCalendar(); gcal.setGregorianChange(new Date(Long.MIN_VALUE)); // proleptic gregorian gcal.setFirstDayOfWeek(Calendar.MONDAY); // keeping ISO-8601-semantic gcal.setMinimalDaysInFirstWeek(4); // keeping ISO-8601-semantic gcal.setTimeZone(tz); gcal.setTime(jud); return gcal; }
public Calendar read (Kryo kryo, Input input, Class<Calendar> type) { Calendar result = Calendar.getInstance(timeZoneSerializer.read(kryo, input, TimeZone.class)); result.setTimeInMillis(input.readLong(true)); result.setLenient(input.readBoolean()); result.setFirstDayOfWeek(input.readInt(true)); result.setMinimalDaysInFirstWeek(input.readInt(true)); long gregorianChange = input.readLong(false); if (gregorianChange != DEFAULT_GREGORIAN_CUTOVER) if (result instanceof GregorianCalendar) ((GregorianCalendar)result).setGregorianChange(new Date(gregorianChange)); return result; }
public Calendar read (Kryo kryo, Input input, Class<Calendar> type) { Calendar result = Calendar.getInstance(timeZoneSerializer.read(kryo, input, TimeZone.class)); result.setTimeInMillis(input.readLong(true)); result.setLenient(input.readBoolean()); result.setFirstDayOfWeek(input.readInt(true)); result.setMinimalDaysInFirstWeek(input.readInt(true)); long gregorianChange = input.readLong(false); if (gregorianChange != DEFAULT_GREGORIAN_CUTOVER) if (result instanceof GregorianCalendar) ((GregorianCalendar)result).setGregorianChange(new Date(gregorianChange)); return result; }