Java:String和Date、Timestamp之间的转换
一、String与Date(java.util.Date)互转
Java代码
String dateStr = "2010/05/04 12:34:23" ;
-
Date date = Date(); -
-
DateFormat sdf = SimpleDateFormat( "yyyy/MM/ddHH:mm:ss" ); -
{ -
date = sdf.parse(dateStr); -
System.out.println(date.toString()); -
} (Exception e) { -
e.printStackTrace(); -
}
Java代码
String dateStr = "";
-
Date date = Date(); -
-
DateFormat sdf = SimpleDateFormat( "yyyy/MM/ddHH:mm:ss" ); -
DateFormat sdf2 = SimpleDateFormat( "yyyy-MM-ddHH/mm/ss" ); -
{ -
dateStr = sdf.format(date); -
System.out.println(dateStr); -
dateStr = sdf2.format(date); -
System.out.println(dateStr); -
} (Exception e) { -
e.printStackTrace(); -
}
Java代码
-
Timestamp
ts new= Timestamp(System.currentTimeMillis()); -
String tsStr = 11:49:45" ; -
{ -
ts = Timestamp.valueOf(tsStr); -
System.out.println(ts); -
} (Exception e) { -
e.printStackTrace(); -
}
yyyy-mm-dd
hh:mm:ss[.f...]
这样的格式,中括号表示可选,否则报错!!!
Java代码
-
Timestamp
ts new= Timestamp(System.currentTimeMillis()); -
String tsStr = -
DateFormat sdf = SimpleDateFormat( "yyyy/MM/ddHH:mm:ss" ); -
{ -
-
tsStr = sdf.format(ts); -
System.out.println(tsStr); -
-
tsStr = ts.toString(); -
System.out.println(tsStr); -
} (Exception e) { -
e.printStackTrace(); -
}
三、Date( java.util.Date )和Timestamp互转
Java代码\
Timestamp ts = new Timestamp(System.currentTimeMillis());
-
Date date = Date(); -
{ -
date = ts; -
System.out.println(date); -
} (Exception e) { -
e.printStackTrace(); -
}
ava Calendar 类时间操作,代码很简单。
演示了获取时间,日期时间的累加和累减。
-
package
MyTest; -
-
-
import
java.util.Date; -
import
java.text.SimpleDateFormat; -
import
java.text.DateFormat; -
import
java.util.Calendar; -
-
public
class Test -
{
-
public Test() -
{ -
} -
-
public static void main(String[] args) -
{ -
// 字符串转换日期格式 -
DateFormat fmtDateTime = new SimpleDateFormat( "yyyy-MM-ddHH:mm:ss" ); -
// 得到日期格式对象 -
Date date = fmtDateTime.parse(strDateMake); -
-
// 完整显示日期时间 -
String str = (new SimpleDateFormat( "yyyy-MM-ddHH:mm:ss:SSS" )).format(newDate()); -
System.out.println(str); -
-
// 创建 Calendar 对象 -
Calendar calendar = Calendar.getInstance(); -
// 初始化 Calendar 对象,但并不必要,除非需要重置时间 -
calendar.setTime(new Date()); -
-
// setTime 类似上面一行 -
// Date date = new Date(); -
// calendar.setTime(date); -
-
// 显示年份 -
int year = calendar.get(Calendar.YEAR); -
System.out.println("YEAR is = " + String.valueOf(year)); -
-
// 显示月份 (从0开始, 实际显示要加一) -
int MONTH = calendar.get(Calendar.MONTH); -
System.out.println("MONTH is = " + 1));(MONTH + -
-
// 今年的第 N 天 -
int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR); -
System.out.println("DAY_OF_YEAR is = " + DAY_OF_YEAR); -
-
// 本月第 N 天 -
int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH); -
System.out.println("DAY_OF_MONTH = " + String.valueOf(DAY_OF_MONTH)); -
-
// 3小时以后 -
calendar.add(Calendar.HOUR_OF_DAY, 3); -
int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY); -
System.out.println("HOUR_OF_DAY + 3 = " + HOUR_OF_DAY); -
-
// 当前分钟数 -
int MINUTE = calendar.get(Calendar.MINUTE); -
System.out.println("MINUTE = " + MINUTE); -
-
// 15 分钟以后 -
calendar.add(Calendar.MINUTE, 15); -
MINUTE = calendar.get(Calendar.MINUTE); -
System.out.println("MINUTE + 15 = " + MINUTE); -
-
// 30分钟前 -
calendar.add(Calendar.MINUTE, -30); -
MINUTE = calendar.get(Calendar.MINUTE); -
System.out.println("MINUTE - 30 = " + MINUTE); -
-
// 格式化显示 -
str = (new SimpleDateFormat( "yyyy-MM-ddHH:mm:ss:SS" )).format(calendar.getTime()); -
System.out.println(str); -
-
// 重置 Calendar 显示当前时间 -
calendar.setTime(new Date()); -
str = (new SimpleDateFormat( "yyyy-MM-ddHH:mm:ss:SS" )).format(calendar.getTime()); -
System.out.println(str); -
-
// 创建一个 Calendar 用于比较时间 -
Calendar calendarNew = Calendar.getInstance(); -
-
// 设定为 5 小时以前,后者大,显示 -1 -
calendarNew.add(Calendar.HOUR, -5); -
System.out.println("时间比较:" + calendarNew.compareTo(calendar)); -
-
// 设定7小时以后,前者大,显示 1 -
calendarNew.add(Calendar.HOUR, +7); -
System.out.println("时间比较:" + calendarNew.compareTo(calendar)); -
-
// 退回 2 小时,时间相同,显示 0 -
calendarNew.add(Calendar.HOUR, -2); -
System.out.println("时间比较:" + calendarNew.compareTo(calendar)); -
} -
}