📄 dateutil.java
字号:
package com.develop.io;
import java.util.*;
public class DateUtil {
static final int MILLISECONDS_IN_DAY = 1000 * 60 * 60 * 24;
//Dec 30 1899 is 0 in Win32 date
//Jan 1 1970 is 0 in Java date
//difference between the two is 70 years + 2 days
//leap years are 1904, 1908, etc. = 17 leaps
//(365 * 70) + 17 + 2
static final int SUN_MINUS_MICROSOFT = 25569;
public static long getJavaDate(double date) {
double javaNormalizedDate = date - SUN_MINUS_MICROSOFT;
long millis = Math.round(86400000L * javaNormalizedDate);
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(millis));
return millis - cal.get(cal.ZONE_OFFSET) - cal.get(cal.DST_OFFSET);
}
public static double getWin32Date(java.util.Date dt) {
return getWin32Date(dt.getTime());
}
public static double getWin32Date(long dt) {
Date date = new Date(dt);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
long millis = date.getTime()
+ cal.get(cal.ZONE_OFFSET)
+ cal.get(cal.DST_OFFSET);
return (double) millis / MILLISECONDS_IN_DAY + SUN_MINUS_MICROSOFT;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -