当前位置: 技术问答>java相关
java的日期问题
来源: 互联网 发布时间:2015-09-01
本文导语: 如何给java.sql.date初始化付值(yyyy.mm.dd)我用date(int,int,int)插入数据库得到的确不是我想要的日期,而用date(long)又太麻烦,有没有简单点的办法? | 若对应数据库数据是oracle的Date类型,即只需要...
如何给java.sql.date初始化付值(yyyy.mm.dd)我用date(int,int,int)插入数据库得到的确不是我想要的日期,而用date(long)又太麻烦,有没有简单点的办法?
|
若对应数据库数据是oracle的Date类型,即只需要年月日的,可以选择使用java.sql.Date类型,若对应的是MSsqlserver数据库的DateTime类型,即需要年月日时分秒的,选择java.sql.Timestamp类型
你可以使用dateFormat定义时间日期的格式,转一个字符串即可:
比如:设定字符串2002-03-22 15:22:32,调用如下方法:
public class StringToDate {
public final static java.sql.Timestamp string2Date(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);
//dateFormat = new SimpleDateFormat("yyyy.MM.dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
//java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型
return dateTime;
}
}
即可得到Timestamp类型,若想得到Date类型的,将方法内的注释替换一下即可,当然进入的参数格式得为"2002-02-12"这种模式,btw:其中的"-"符号可以为“.”,只需将dataformat的格式也改变一下即可
运行实例:
package Alpha;
import java.util.*;
import java.text.*;
public class Test {
public static void main(String[] args) {
try {
String sToDate = "2002-3-4";//用于转换成java.sql.Date的字符串
String sToTimestamp = "2002-9-12 14:21:22";//用于转换成java.sql.Timestamp的字符串
java.sql.Date date1 = string2Date(sToDate);
java.sql.Timestamp date2 = string2Time(sToTimestamp);
System.out.println(date1.toString());//结果显示
System.out.println(date2.toString());//结果显示
}
catch(Exception e) {}
}
public final static java.sql.Timestamp string2Time(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);//设定格式
//dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
//java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型
return dateTime;
}
public final static java.sql.Date string2Date(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
return dateTime;
}
}
你可以使用dateFormat定义时间日期的格式,转一个字符串即可:
比如:设定字符串2002-03-22 15:22:32,调用如下方法:
public class StringToDate {
public final static java.sql.Timestamp string2Date(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);
//dateFormat = new SimpleDateFormat("yyyy.MM.dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
//java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型
return dateTime;
}
}
即可得到Timestamp类型,若想得到Date类型的,将方法内的注释替换一下即可,当然进入的参数格式得为"2002-02-12"这种模式,btw:其中的"-"符号可以为“.”,只需将dataformat的格式也改变一下即可
运行实例:
package Alpha;
import java.util.*;
import java.text.*;
public class Test {
public static void main(String[] args) {
try {
String sToDate = "2002-3-4";//用于转换成java.sql.Date的字符串
String sToTimestamp = "2002-9-12 14:21:22";//用于转换成java.sql.Timestamp的字符串
java.sql.Date date1 = string2Date(sToDate);
java.sql.Timestamp date2 = string2Time(sToTimestamp);
System.out.println(date1.toString());//结果显示
System.out.println(date2.toString());//结果显示
}
catch(Exception e) {}
}
public final static java.sql.Timestamp string2Time(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);//设定格式
//dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
//java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型
return dateTime;
}
public final static java.sql.Date string2Date(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
return dateTime;
}
}