您的位置:首页 > 其它

如何获取精确到毫秒的当前时间以及 日期与时间的相互转化

2014-01-13 14:47 591 查看
获取当前的时间,精确到毫秒

System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS") .format(new Date() ));


获取当前时间,精确到秒

private static final SimpleDateFormat DATE_FORMAT_FULL = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
Date date=new Date();
// 24小时的日期  小时为HH
System.out.println(DATE_FORMAT_FULL.format(date));
如果是12小时格式的日期,小时使用 hh。

可以封装成一个方法,在需要的地方直接调用该方法就可以了。

public static final String DATE_FORMAT= "yyyy-MM-dd HH:mm:ss";

/**
* 获取当前日期的年月日时分秒格式
* @return
*/
public static String getDateFormatter() {
Date date = new Date();
DateFormat df = new SimpleDateFormat(DATE_FORMAT);
return df.format(date);
}

我们经常使用当前日期来给文件进行命名,把上面的日期格式中的‘-’和空格都去掉就可以用作给文件命名了。

Calendar 转化为Date

Calendar cal=Calendar.getInstance();
Date date=cal.getTime();
System.out.println(date);
Calendar cal=Calendar.getInstance();
cal.add(Calendar.DATE, -2);
Date date = cal.getTime();
System.out.println(date); //日期比当前日期减少两天

Date 转化为Calendar

Date date2=new Date();
Calendar cal2=Calendar.getInstance();
cal2.setTime(date2);
System.out.println(cal2);

 Date 和String的相互转化

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年M月dd日");
Calendar cal2 = Calendar.getInstance();
Date d = cal2.getTime();
String str = sdf.format(d);
System.out.println(str);
String s="2014年1月21日";
String s2="";
try {
// String --> Date --> String
Date d2 = sdf.parse(s);
s2 = sdf.format(d2);
System.out.println(s2);

System.out.println(s.equals(s2)); // true
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(s2);
System.out.println(str);
if (s2.equals(str)) {
System.out.println("true"); // true
}
if (s.equals(str)) {
System.out.println("true"); // true
} else {
System.out.println("false");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string