java.util.GregorianCalendar#AD源码实例Demo

下面列出了java.util.GregorianCalendar#AD 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jTDS   文件: DateTime.java
/**
 * Constructs a DateTime object from a <code>java.sql.Timestamp</code>.
 *
 * @param ts <code>Timestamp</code> object representing the datetime
 * @throws SQLException if the date is out of range
 */
DateTime(Timestamp ts) throws SQLException {
    tsValue = ts;
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(ts);

    if (cal.get(Calendar.ERA) != GregorianCalendar.AD)
        throw new SQLException(Messages.get("error.datetime.range.era"), "22007");

    year   = (short)cal.get(Calendar.YEAR);
    month  = (short)(cal.get(Calendar.MONTH) + 1);
    day    = (short)cal.get(Calendar.DAY_OF_MONTH);
    hour   = (short)cal.get(Calendar.HOUR_OF_DAY);
    minute = (short)cal.get(Calendar.MINUTE);
    second = (short)cal.get(Calendar.SECOND);
    millis = (short)cal.get(Calendar.MILLISECOND);
    packDate();
    packTime();
    unpacked = true;
}
 
源代码2 项目: jTDS   文件: DateTime.java
/**
 * Constructs a DateTime object from a <code>java.sql.Time</code>.
 *
 * @param t <code>Time</code> object representing the datetime
 * @throws SQLException if the time (date) is out of range
 */
DateTime(Time t) throws SQLException {
    timeValue = t;
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(t);

    if (cal.get(Calendar.ERA) != GregorianCalendar.AD)
        throw new SQLException(Messages.get("error.datetime.range.era"), "22007");

    date   = DATE_NOT_USED;
    year   = 1900;
    month  = 1;
    day    = 1;
    hour   = (short)cal.get(Calendar.HOUR_OF_DAY);
    minute = (short)cal.get(Calendar.MINUTE);
    second = (short)cal.get(Calendar.SECOND);
    millis = (short)cal.get(Calendar.MILLISECOND);
    packTime();
    year  = 1970;
    month = 1;
    day   = 1;
    unpacked   = true;
}
 
源代码3 项目: jTDS   文件: DateTime.java
/**
 * Constructs a DateTime object from a <code>java.sql.Date</code>.
 *
 * @param d <code>Date</code> object representing the datetime
 * @throws SQLException if the Date is out of range
 */
DateTime(Date d) throws SQLException {
    dateValue = d;
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(d);

    if (cal.get(Calendar.ERA) != GregorianCalendar.AD)
        throw new SQLException(Messages.get("error.datetime.range.era"), "22007");

    year   = (short)cal.get(Calendar.YEAR);
    month  = (short)(cal.get(Calendar.MONTH) + 1);
    day    = (short)cal.get(Calendar.DAY_OF_MONTH);
    hour   = 0;
    minute = 0;
    second = 0;
    millis = 0;
    packDate();
    time = TIME_NOT_USED;
    unpacked  = true;
}
 
源代码4 项目: solarpositioning   文件: JulianDate.java
private double calcJulianDate(GregorianCalendar calendar) {
    int y = (calendar.get(Calendar.ERA) == GregorianCalendar.AD) ? calendar.get(Calendar.YEAR) : -calendar
            .get(Calendar.YEAR);
    int m = calendar.get(Calendar.MONTH) + 1;

    if (m < 3) {
        y = y - 1;
        m = m + 12;
    }

    final double d = calendar.get(Calendar.DAY_OF_MONTH)
            + (calendar.get(Calendar.HOUR_OF_DAY) + (calendar.get(Calendar.MINUTE) + calendar.get(Calendar.SECOND) / 60.0) / 60.0)
            / 24.0;
    final double jd = Math.floor(365.25 * (y + 4716.0)) + Math.floor(30.6001 * (m + 1)) + d - 1524.5;
    final double a = Math.floor(y / 100.0);
    final double b = jd > 2299160.0 ? (2.0 - a + Math.floor(a / 4.0)) : 0.0;

    return jd + b;
}
 
源代码5 项目: openjdk-jdk9   文件: CalendarRegression.java
/**
 * Reported bug is that a GregorianCalendar with a cutover of Date(Long.MAX_VALUE)
 * doesn't behave as a pure Julian calendar.
 * CANNOT REPRODUCE THIS BUG
 */
public void Test4149677() {
    TimeZone[] zones = {TimeZone.getTimeZone("GMT"),
        TimeZone.getTimeZone("PST"),
        TimeZone.getTimeZone("EAT")};
    for (int i = 0; i < zones.length; ++i) {
        GregorianCalendar calendar = new GregorianCalendar(zones[i]);

        // Make sure extreme values don't wrap around
        calendar.setTime(new Date(Long.MIN_VALUE));
        if (calendar.get(ERA) != GregorianCalendar.BC) {
            errln("Fail: Date(Long.MIN_VALUE) has an AD year in " + zones[i]);
        }
        calendar.setTime(new Date(Long.MAX_VALUE));
        if (calendar.get(ERA) != GregorianCalendar.AD) {
            errln("Fail: Date(Long.MAX_VALUE) has a BC year in " + zones[i]);
        }

        calendar.setGregorianChange(new Date(Long.MAX_VALUE));
        // to obtain a pure Julian calendar

        boolean is100Leap = calendar.isLeapYear(100);
        if (!is100Leap) {
            errln("test failed with zone " + zones[i].getID());
            errln(" cutover date is Date(Long.MAX_VALUE)");
            errln(" isLeapYear(100) returns: " + is100Leap);
        }
    }
}
 
源代码6 项目: sumk   文件: SumkDate.java
public static SumkDate of(Calendar cal) {

		int y = cal.get(Calendar.ERA) == GregorianCalendar.AD ? cal.get(Calendar.YEAR) : 1 - cal.get(Calendar.YEAR);
		return of(y, cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DATE), cal.get(Calendar.HOUR_OF_DAY),
				cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND), cal.get(Calendar.MILLISECOND));
	}
 
源代码7 项目: Time4A   文件: PlatformTimezone.java
@Override
public ZonalOffset getOffset(
    GregorianDate localDate,
    WallTime localTime
) {

    if (this.fixedOffset != null) {
        return this.fixedOffset;
    }

    int year = localDate.getYear();
    int month = localDate.getMonth();
    int dom = localDate.getDayOfMonth();

    int era;
    int yearOfEra;

    if (localTime.getHour() == 24) {
        long mjd = MathUtils.safeAdd(GregorianMath.toMJD(localDate), 1);
        long pd = GregorianMath.toPackedDate(mjd);
        year = GregorianMath.readYear(pd);
        month = GregorianMath.readMonth(pd);
        dom = GregorianMath.readDayOfMonth(pd);
    }

    if (year > 0) {
        era = GregorianCalendar.AD;
        yearOfEra = year;
    } else {
        era = GregorianCalendar.BC;
        yearOfEra = 1 - year;
    }

    int dow = GregorianMath.getDayOfWeek(year, month, dom) + 1;

    if (dow == 8) {
        dow = Calendar.SUNDAY;
    }

    int millis;

    if (localTime.getHour() == 24) {
        millis = 0;
    } else {
        millis = (
            localTime.getHour() * 3600
            + localTime.getMinute() * 60
            + localTime.getSecond()
        ) * 1000 + (localTime.getNanosecond() / 1000000);
    }

    java.util.TimeZone inner;

    if (this.id == null) {
        inner = java.util.TimeZone.getDefault();
    } else {
        inner = this.tz;
    }

    return fromOffsetMillis(
        inner.getOffset(era, yearOfEra, month - 1, dom, dow, millis));

}
 
源代码8 项目: coming   文件: Time_12_LocalDateTime_t.java
/**
 * Constructs a LocalDateTime from a <code>java.util.Calendar</code>
 * using exactly the same field values.
 * <p>
 * Each field is queried from the Calendar and assigned to the LocalDateTime.
 * This is useful if you have been using the Calendar as a local date,
 * ignoring the zone.
 * <p>
 * One advantage of this method is that this method is unaffected if the
 * version of the time zone data differs between the JDK and Joda-Time.
 * That is because the local field values are transferred, calculated using
 * the JDK time zone data and without using the Joda-Time time zone data.
 * <p>
 * This factory method ignores the type of the calendar and always
 * creates a LocalDateTime with ISO chronology. It is expected that you
 * will only pass in instances of <code>GregorianCalendar</code> however
 * this is not validated.
 *
 * @param calendar  the Calendar to extract fields from, not null
 * @return the created local date-time, not null
 * @throws IllegalArgumentException if the calendar is null
 * @throws IllegalArgumentException if the date is invalid for the ISO chronology
 */
public static LocalDateTime fromCalendarFields(Calendar calendar) {
    if (calendar == null) {
        throw new IllegalArgumentException("The calendar must not be null");
    }
    int era = calendar.get(Calendar.ERA);
    int yearOfEra = calendar.get(Calendar.YEAR);
    return new LocalDateTime(
        (era == GregorianCalendar.AD ? yearOfEra : 1 - yearOfEra),
        calendar.get(Calendar.MONTH) + 1,
        calendar.get(Calendar.DAY_OF_MONTH),
        calendar.get(Calendar.HOUR_OF_DAY),
        calendar.get(Calendar.MINUTE),
        calendar.get(Calendar.SECOND),
        calendar.get(Calendar.MILLISECOND)
    );
}
 
源代码9 项目: ion-java   文件: Timestamp.java
/**
 * Copies data from a {@link Calendar} into this timestamp.
 * Must only be called during construction due to timestamp immutabliity.
 *
 * @param cal must have at least one field set.
 *
 * @throws IllegalArgumentException if the calendar has no fields set.
 */
private void set_fields_from_calendar(Calendar cal,
                                      Precision precision,
                                      boolean setLocalOffset)
{
    _precision = precision;
    _offset = UNKNOWN_OFFSET;
    boolean dayPrecision = false;
    boolean calendarHasMilliseconds = cal.isSet(Calendar.MILLISECOND);

    switch (this._precision) {
        case FRACTION:
        case SECOND:
            this._second = checkAndCastSecond(cal.get(Calendar.SECOND));
            if (calendarHasMilliseconds) {
                BigDecimal millis = BigDecimal.valueOf(cal.get(Calendar.MILLISECOND));
                this._fraction = millis.movePointLeft(3); // convert to fraction
                checkFraction(precision, this._fraction);
            }
        case MINUTE:
        {
            this._hour   = checkAndCastHour(cal.get(Calendar.HOUR_OF_DAY));
            this._minute = checkAndCastMinute(cal.get(Calendar.MINUTE));

            // If this test is made before calling get(), it will return
            // false even when Calendar.setTimeZone() was called.
            if (setLocalOffset && cal.isSet(Calendar.ZONE_OFFSET))
            {
                int offset = cal.get(Calendar.ZONE_OFFSET);
                if (cal.isSet(Calendar.DST_OFFSET)) {
                    offset += cal.get(Calendar.DST_OFFSET);
                }

                // convert ms to minutes
                _offset = offset / (1000*60);
            }
        }
        case DAY:
            dayPrecision = true;
        case MONTH:
            // Calendar months are 0 based, Timestamp months are 1 based
            this._month  = checkAndCastMonth((cal.get(Calendar.MONTH) + 1));
        case YEAR:
            int year;
            if(cal.get(Calendar.ERA) == GregorianCalendar.AD) {
                year = cal.get(Calendar.YEAR);
            }
            else {
                year = -cal.get(Calendar.YEAR);
            }

            this._year = checkAndCastYear(year);
    }

    if (dayPrecision)
    {
        this._day = checkAndCastDay(cal.get(Calendar.DAY_OF_MONTH), _year, _month);
    }

    if (_offset != UNKNOWN_OFFSET) {
        // Transform our members from local time to Zulu
        this.apply_offset(_offset);
    }
}
 
源代码10 项目: astor   文件: LocalDateTime.java
/**
 * Constructs a LocalDateTime from a <code>java.util.Calendar</code>
 * using exactly the same field values.
 * <p>
 * Each field is queried from the Calendar and assigned to the LocalDateTime.
 * This is useful if you have been using the Calendar as a local date,
 * ignoring the zone.
 * <p>
 * One advantage of this method is that this method is unaffected if the
 * version of the time zone data differs between the JDK and Joda-Time.
 * That is because the local field values are transferred, calculated using
 * the JDK time zone data and without using the Joda-Time time zone data.
 * <p>
 * This factory method ignores the type of the calendar and always
 * creates a LocalDateTime with ISO chronology. It is expected that you
 * will only pass in instances of <code>GregorianCalendar</code> however
 * this is not validated.
 *
 * @param calendar  the Calendar to extract fields from, not null
 * @return the created local date-time, not null
 * @throws IllegalArgumentException if the calendar is null
 * @throws IllegalArgumentException if the date is invalid for the ISO chronology
 */
public static LocalDateTime fromCalendarFields(Calendar calendar) {
    if (calendar == null) {
        throw new IllegalArgumentException("The calendar must not be null");
    }
    int era = calendar.get(Calendar.ERA);
    int yearOfEra = calendar.get(Calendar.YEAR);
    return new LocalDateTime(
        (era == GregorianCalendar.AD ? yearOfEra : 1 - yearOfEra),
        calendar.get(Calendar.MONTH) + 1,
        calendar.get(Calendar.DAY_OF_MONTH),
        calendar.get(Calendar.HOUR_OF_DAY),
        calendar.get(Calendar.MINUTE),
        calendar.get(Calendar.SECOND),
        calendar.get(Calendar.MILLISECOND)
    );
}
 
源代码11 项目: astor   文件: LocalDateTime.java
/**
 * Constructs a LocalDateTime from a <code>java.util.Calendar</code>
 * using exactly the same field values.
 * <p>
 * Each field is queried from the Calendar and assigned to the LocalDateTime.
 * This is useful if you have been using the Calendar as a local date,
 * ignoring the zone.
 * <p>
 * One advantage of this method is that this method is unaffected if the
 * version of the time zone data differs between the JDK and Joda-Time.
 * That is because the local field values are transferred, calculated using
 * the JDK time zone data and without using the Joda-Time time zone data.
 * <p>
 * This factory method ignores the type of the calendar and always
 * creates a LocalDateTime with ISO chronology. It is expected that you
 * will only pass in instances of <code>GregorianCalendar</code> however
 * this is not validated.
 *
 * @param calendar  the Calendar to extract fields from, not null
 * @return the created local date-time, not null
 * @throws IllegalArgumentException if the calendar is null
 * @throws IllegalArgumentException if the date is invalid for the ISO chronology
 */
public static LocalDateTime fromCalendarFields(Calendar calendar) {
    if (calendar == null) {
        throw new IllegalArgumentException("The calendar must not be null");
    }
    int era = calendar.get(Calendar.ERA);
    int yearOfEra = calendar.get(Calendar.YEAR);
    return new LocalDateTime(
        (era == GregorianCalendar.AD ? yearOfEra : 1 - yearOfEra),
        calendar.get(Calendar.MONTH) + 1,
        calendar.get(Calendar.DAY_OF_MONTH),
        calendar.get(Calendar.HOUR_OF_DAY),
        calendar.get(Calendar.MINUTE),
        calendar.get(Calendar.SECOND),
        calendar.get(Calendar.MILLISECOND)
    );
}
 
源代码12 项目: coming   文件: Time_12_LocalDate_t.java
/**
 * Constructs a LocalDate from a <code>java.util.Calendar</code>
 * using exactly the same field values.
 * <p>
 * Each field is queried from the Calendar and assigned to the LocalDate.
 * This is useful if you have been using the Calendar as a local date,
 * ignoring the zone.
 * <p>
 * One advantage of this method is that this method is unaffected if the
 * version of the time zone data differs between the JDK and Joda-Time.
 * That is because the local field values are transferred, calculated using
 * the JDK time zone data and without using the Joda-Time time zone data.
 * <p>
 * This factory method ignores the type of the calendar and always
 * creates a LocalDate with ISO chronology. It is expected that you
 * will only pass in instances of <code>GregorianCalendar</code> however
 * this is not validated.
 *
 * @param calendar  the Calendar to extract fields from, not null
 * @return the created local date, not null
 * @throws IllegalArgumentException if the calendar is null
 * @throws IllegalArgumentException if the date is invalid for the ISO chronology
 */
public static LocalDate fromCalendarFields(Calendar calendar) {
    if (calendar == null) {
        throw new IllegalArgumentException("The calendar must not be null");
    }
    int era = calendar.get(Calendar.ERA);
    int yearOfEra = calendar.get(Calendar.YEAR);
    return new LocalDate(
        (era == GregorianCalendar.AD ? yearOfEra : 1 - yearOfEra),
        calendar.get(Calendar.MONTH) + 1,
        calendar.get(Calendar.DAY_OF_MONTH)
    );
}
 
源代码13 项目: astor   文件: LocalDate.java
/**
 * Constructs a LocalDate from a <code>java.util.Calendar</code>
 * using exactly the same field values.
 * <p>
 * Each field is queried from the Calendar and assigned to the LocalDate.
 * This is useful if you have been using the Calendar as a local date,
 * ignoring the zone.
 * <p>
 * One advantage of this method is that this method is unaffected if the
 * version of the time zone data differs between the JDK and Joda-Time.
 * That is because the local field values are transferred, calculated using
 * the JDK time zone data and without using the Joda-Time time zone data.
 * <p>
 * This factory method ignores the type of the calendar and always
 * creates a LocalDate with ISO chronology. It is expected that you
 * will only pass in instances of <code>GregorianCalendar</code> however
 * this is not validated.
 *
 * @param calendar  the Calendar to extract fields from, not null
 * @return the created local date, not null
 * @throws IllegalArgumentException if the calendar is null
 * @throws IllegalArgumentException if the date is invalid for the ISO chronology
 */
public static LocalDate fromCalendarFields(Calendar calendar) {
    if (calendar == null) {
        throw new IllegalArgumentException("The calendar must not be null");
    }
    int era = calendar.get(Calendar.ERA);
    int yearOfEra = calendar.get(Calendar.YEAR);
    return new LocalDate(
        (era == GregorianCalendar.AD ? yearOfEra : 1 - yearOfEra),
        calendar.get(Calendar.MONTH) + 1,
        calendar.get(Calendar.DAY_OF_MONTH)
    );
}
 
源代码14 项目: astor   文件: LocalDate.java
/**
 * Constructs a LocalDate from a <code>java.util.Calendar</code>
 * using exactly the same field values.
 * <p>
 * Each field is queried from the Calendar and assigned to the LocalDate.
 * This is useful if you have been using the Calendar as a local date,
 * ignoring the zone.
 * <p>
 * One advantage of this method is that this method is unaffected if the
 * version of the time zone data differs between the JDK and Joda-Time.
 * That is because the local field values are transferred, calculated using
 * the JDK time zone data and without using the Joda-Time time zone data.
 * <p>
 * This factory method ignores the type of the calendar and always
 * creates a LocalDate with ISO chronology. It is expected that you
 * will only pass in instances of <code>GregorianCalendar</code> however
 * this is not validated.
 *
 * @param calendar  the Calendar to extract fields from, not null
 * @return the created local date, not null
 * @throws IllegalArgumentException if the calendar is null
 * @throws IllegalArgumentException if the date is invalid for the ISO chronology
 */
public static LocalDate fromCalendarFields(Calendar calendar) {
    if (calendar == null) {
        throw new IllegalArgumentException("The calendar must not be null");
    }
    int era = calendar.get(Calendar.ERA);
    int yearOfEra = calendar.get(Calendar.YEAR);
    return new LocalDate(
        (era == GregorianCalendar.AD ? yearOfEra : 1 - yearOfEra),
        calendar.get(Calendar.MONTH) + 1,
        calendar.get(Calendar.DAY_OF_MONTH)
    );
}