Java格式化⽇期的三种⽅式
1)借助DateFormat类:
public String toString(Date d) {
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
return sdf.format(d);
}
2)使⽤String.format()⽅法。
String.format()的⽤法类似于C语⾔的printf,C语⾔转JAVA的同学⼀定会喜欢这个⽅式的。
public static String toString(Date d) {
String format = “%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS”;
return String.format(format, d);
}
下⾯对格式字符串说明
“%1$tY” %表⽰转义,它后⾯的“1$tY”是格式说明,运⾏时会被替换掉,不会作为普通的字符输出。由于⼀个参数可能会被格式化好多次,“1$”表⽰格式化第⼀个参数,“tY”表⽰格式化时间中的年份字段,那么”%1$tY”输出
的值为d的年份,⽐如2014,同理类推:”%1$tm”输出⽉。
具体的格式化说明请参看java.util.Formatter类的javadoc。
c++中string的用法
3)使⽤Calendar⾃⼰格式化
public static String toString(Date d) {
Calendar c = Instance();
c.setTime(d);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int dayInMonth = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int seconds = c.get(Calendar.SECOND);
String ret = String.valueOf(year);
ret += “-”;
ret += month < 10 ? “0″ + month : String.valueOf(month);
ret += “-”;
ret += dayInMonth < 10 ? “0″ + dayInMonth : String.valueOf(dayInMonth);
ret += ” “;
ret += hour < 10 ? “0″ + hour : String.valueOf(hour);
ret += “:”;
ret += minute < 10 ? “0″ + hour : String.valueOf(minute);
ret += “:”;
ret += seconds < 10 ? “0″ + hour : String.valueOf(seconds);
return ret;
}
代码很简单,不过有点重复造轮⼦的嫌疑。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。