📄 dateutil.java
字号:
package edu.njust.cs;
import java.sql.Timestamp;
import java.util.*;
public class DateUtil{
//由 xxxx-xx-xx 的格式,例如2005-01-23
//转换为 Timestamp 格式 getTSFromYMD
public static Timestamp getTSFromYMD(String s) {
int year=Integer.parseInt(s.substring(0,4));
int month=Integer.parseInt(s.substring(5,7));
int day=Integer.parseInt(s.substring(8,10));
GregorianCalendar gc=new GregorianCalendar(year,month-1,day,0,0,0);
return new Timestamp(gc.getTimeInMillis());
}
//由Timestamp转换为 xxxx-xx-xx 格式
public static String getYMDFromTS(Timestamp tp){
if(tp==null) return "";
GregorianCalendar gc=new GregorianCalendar();
gc.setTimeInMillis(tp.getTime());
String m="";
if((gc.get(Calendar.MONTH)+1)<10)
m="0"+(gc.get(Calendar.MONTH)+1);
else
m=""+(gc.get(Calendar.MONTH)+1);
String d="";
if(gc.get(Calendar.DAY_OF_MONTH)<10)
d="0"+gc.get(Calendar.DAY_OF_MONTH);
else
d=""+gc.get(Calendar.DAY_OF_MONTH);
return (gc.get(Calendar.YEAR))+"-"+m+"-"+d;
}
//由GregorianCalendar
//转换为 xxxx-xx-xx xx:xx:xx 格式
//例如 2005-01-29 13:23:24
public static String getYMDHMSFromGC(GregorianCalendar gc){
if(gc==null) return "";
String yearMonthDay=getYMDFromTS(getTSFormGC(gc));
String hour="";
String minute="";
String second="";
if(gc.get(Calendar.HOUR_OF_DAY)<10)
hour="0"+gc.get(Calendar.HOUR_OF_DAY);
else
hour=""+gc.get(Calendar.HOUR_OF_DAY);
if(gc.get(Calendar.MINUTE)<10)
minute="0"+gc.get(Calendar.MINUTE);
else
minute=""+gc.get(Calendar.MINUTE);
if(gc.get(Calendar.SECOND)<10)
second="0"+gc.get(Calendar.SECOND);
else
second=""+gc.get(Calendar.SECOND);
return ""+yearMonthDay+" "+hour+":"+minute+":"+second;
}
//由 xxxx-xx-xx xx:xx:xx 的格式转换为 Timestamp 格式
public static Timestamp getTSFromYMDHMS(String s){
int year=Integer.parseInt(s.substring(0,4));
int month=Integer.parseInt(s.substring(5,7));
int day=Integer.parseInt(s.substring(8,10));
int hour=Integer.parseInt(s.substring(11,13));
int minute=Integer.parseInt(s.substring(14,16));
int second=Integer.parseInt(s.substring(17,19));
GregorianCalendar gc=new GregorianCalendar(year,month-1,day,hour,minute,second);
return new Timestamp(gc.getTimeInMillis());
}
//从GregorianCalendar转换为Timestamp 的格式
public static Timestamp getTSFormGC(GregorianCalendar gc){
return new Timestamp(gc.getTimeInMillis());
}
//从Timestamp 转换为 GregorianCalendar的格式
public static GregorianCalendar getGCFromTS(Timestamp ts) {
GregorianCalendar gc=new GregorianCalendar();
gc.setTimeInMillis(ts.getTime());
return gc;
}
//判断是否为有效的时间格式
//年(4位)-月(2位)-日(2位) 例如 2005-11-07
public static boolean isValidYMDFormat(String s){
boolean flag=true;
if(s.length()!=10) return false;
if(s.charAt(4)!='-'||s.charAt(7)!='-') flag=false;
try{
Integer.parseInt(s.substring(0,4));
Integer.parseInt(s.substring(5,7));
Integer.parseInt(s.substring(8,10));
}catch(NumberFormatException e){
e.printStackTrace();
flag=false;
}
return flag;
}
//判断是否为有效的时间格式
//年(4位)-月(2位) 例如 2005-11
public static boolean isValidYMFormat(String s) {
boolean flag=true;
if(s.length()!=7) return false;
if(s.charAt(4)!='-') flag=false;
try{
Integer.parseInt(s.substring(0,4));
Integer.parseInt(s.substring(5,7));
}catch(NumberFormatException e){
e.printStackTrace();
flag=false;
}
return flag;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -