src/java.base/share/classes/java/util/zip/ZipEntry.java
Print this page
@@ -225,16 +225,16 @@
public void setTimeLocal(LocalDateTime time) {
int year = time.getYear() - 1980;
if (year < 0) {
this.xdostime = DOSTIME_BEFORE_1980;
} else {
- this.xdostime = (year << 25 |
+ this.xdostime = ((year << 25 |
time.getMonthValue() << 21 |
time.getDayOfMonth() << 16 |
time.getHour() << 11 |
time.getMinute() << 5 |
- time.getSecond() >> 1)
+ time.getSecond() >> 1) & 0xffffffffL)
+ ((long)(((time.getSecond() & 0x1) * 1000) +
time.getNano() / 1000_000) << 32);
}
if (xdostime != DOSTIME_BEFORE_1980 && year <= 0x7f) {
this.mtime = null;