今天本来想着把网页上的日期转换为Data存到数据库,不料就这个简单的功能竟出了些乱七八糟的异常,调试了一下午+一晚上才发现只是打错了一个字母,查到的资料就不要浪费总结一下贴出来
以代码来自搜索引擎并加以修改,仅供备忘
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
/**
* @param fgrass
* @version 4.23
*/
public static void main(String args[]){
//设定字符串格式,可以规定不同的格式如:"yyyy-MM-dd"、"yyyy.MM.dd"……
DateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
//获得当前日期
Date date = new Date();
//1.使用java.text.SimpleDateFormat将日期转换为字符串
String str = formatDate.format(date);
System.out.println("1: "+str);
//2.直接打印
System.out.println("2: "+date);
formatDate = DateFormat.getDateInstance(DateFormat.SHORT);
str = formatDate.format(date);
System.out.println("DateFormat.SHORT: "+str);
formatDate = DateFormat.getDateInstance(DateFormat.FULL);
str = formatDate.format(date);
System.out.println("DateFormat.FULL: "+str);
formatDate = DateFormat.getDateInstance(DateFormat.MEDIUM);
str = formatDate.format(date);
System.out.println("DateFormat.MEDIUM: "+str);
//将字符串转换为日期
str = "1987-1-1";
try {
date = formatDate.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
//测试:
System.out.println(date);
System.out.println(formatDate.format(date));
//Timestamp和String之间转换的函数,Timestamp相当于数据库中的DataTime
//Timestamp转化为String:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒
Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间
str = df.format(now);
System.out.println(str);
//String转化为Timestamp方法1:
SimpleDateFormat formatTimestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = new Date();
str = formatTimestamp.format(date);
Timestamp time = Timestamp.valueOf(str);
System.out.println(time);
//String转化为Timestamp方法2:
String s = "1987-1-1 1:1:1";
time = Timestamp.valueOf(s);
System.out.println(time.toString());
System.out.println(time);
}
}
运行结果:
1: 2009-04-23
2: Thu Apr 23 22:53:40 CST 2009
DateFormat.SHORT: 09-4-23
DateFormat.FULL: 2009年4月23日 星期四
DateFormat.MEDIUM: 2009-4-23
Thu Jan 01 00:00:00 CST 1987
1987-1-1
2009-04-23 22:53:40
2009-04-23 22:53:40.0
1987-01-01 01:01:01.0
1987-01-01 01:01:01.0
以代码来自搜索引擎并加以修改,仅供备忘
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
/**
* @param fgrass
* @version 4.23
*/
public static void main(String args[]){
//设定字符串格式,可以规定不同的格式如:"yyyy-MM-dd"、"yyyy.MM.dd"……
DateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
//获得当前日期
Date date = new Date();
//1.使用java.text.SimpleDateFormat将日期转换为字符串
String str = formatDate.format(date);
System.out.println("1: "+str);
//2.直接打印
System.out.println("2: "+date);
formatDate = DateFormat.getDateInstance(DateFormat.SHORT);
str = formatDate.format(date);
System.out.println("DateFormat.SHORT: "+str);
formatDate = DateFormat.getDateInstance(DateFormat.FULL);
str = formatDate.format(date);
System.out.println("DateFormat.FULL: "+str);
formatDate = DateFormat.getDateInstance(DateFormat.MEDIUM);
str = formatDate.format(date);
System.out.println("DateFormat.MEDIUM: "+str);
//将字符串转换为日期
str = "1987-1-1";
try {
date = formatDate.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
//测试:
System.out.println(date);
System.out.println(formatDate.format(date));
//Timestamp和String之间转换的函数,Timestamp相当于数据库中的DataTime
//Timestamp转化为String:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒
Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间
str = df.format(now);
System.out.println(str);
//String转化为Timestamp方法1:
SimpleDateFormat formatTimestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = new Date();
str = formatTimestamp.format(date);
Timestamp time = Timestamp.valueOf(str);
System.out.println(time);
//String转化为Timestamp方法2:
String s = "1987-1-1 1:1:1";
time = Timestamp.valueOf(s);
System.out.println(time.toString());
System.out.println(time);
}
}
运行结果:
1: 2009-04-23
2: Thu Apr 23 22:53:40 CST 2009
DateFormat.SHORT: 09-4-23
DateFormat.FULL: 2009年4月23日 星期四
DateFormat.MEDIUM: 2009-4-23
Thu Jan 01 00:00:00 CST 1987
1987-1-1
2009-04-23 22:53:40
2009-04-23 22:53:40.0
1987-01-01 01:01:01.0
1987-01-01 01:01:01.0