介绍
介绍
今天福哥带着大家来给我们的TFSpring框架增加针对日期和时间的处理功能。在Java语言里面日期和时间的相关对象包括Calendar、Date、Timestamp几个对象,在不同的场合下会将某一个时间对象转换成需要的类型。所以说,我们要创建一个日期和时间的操作对象,它可以满足将这三个时间对象来回转换的功能。
另外,我们要根据系统当前时间获取一个时间对象,有了这个功能之后,我们就可以将这个系统时间转换成任意类型的时间对象了。
再有,除了获取系统当前时间外,我们还需要根据一个时间对象进行偏移处理,可以计算出过去的一个时间或者未来的一个时间。例如:昨天、上周、上半年、明天、下个月、明年的今天等等。
TFDatetime
路径
TFSpring.datetime.TFDatetime
代码
datepublic static Calendar date(){
return Calendar.getInstance();
}
dateAddpublic static Calendar dateAdd(Calendar calendar, int field, int amount){
calendar.add(field, amount);
return calendar;
}
toDate// any -> Date
// Calendar -> Date
public static Date toDate(Calendar calendar){
return calendar.getTime();
}
// Timestamp -> Date
public static Date toDate(Timestamp timestamp){
return (Date) timestamp;
}
// String -> Date
public static Date toDate(String datetime, String format){
try{
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.parse(datetime);
}
catch (Exception e){
}
return null;
}
toTimestamp// any -> Timestamp
// Calendar -> Timestamp
public static Timestamp toTimestamp(Calendar calendar){
return new Timestamp(calendar.getTimeInMillis());
}
// Date -> Timestamp
public static Timestamp toTimestamp(Date date){
return new Timestamp(date.getTime());
}
// String -> Timestamp
public static Timestamp toTimestamp(String datetime){
try{
return Timestamp.valueOf(datetime);
}
catch (Exception e){
}
return null;
}
toCalendar// any -> Calendar
// Date -> Calendar
public static Calendar toCalendar(Date date){
Calendar calendar;
calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar;
}
// Timestamp -> Calendar
public static Calendar toCalendar(Timestamp timestamp){
Calendar calendar;
calendar = Calendar.getInstance();
calendar.setTime(timestamp);
return calendar;
}
// String -> Calendar
public static Calendar toCalendar(String datetime){
return TFDatetime.toCalendar(TFDatetime.toTimestamp(datetime));
}
toString// any -> String
// Calendar -> String
public static String toString(Calendar calendar, String format){
return TFDatetime.toString(calendar.getTime(), format);
}
public static String toString(Calendar calendar){
return TFDatetime.toString(calendar, "yyyy-MM-dd HH:mm:ss");
}
// Date -> String
public static String toString(Date date, String format){
SimpleDateFormat simpleDateFormat;
String sDate;
simpleDateFormat = new SimpleDateFormat(format);
sDate = simpleDateFormat.format(date);
return sDate;
}
public static String toString(Date date){
return TFDatetime.toString(date, "yyyy-MM-dd HH:mm:ss");
}
// Timestamp -> String
public static String toString(Timestamp timestamp, String format){
return TFDatetime.toString((Date) timestamp, format);
}
public static String toString(Timestamp timestamp){
return TFDatetime.toString(timestamp, "yyyy-MM-dd HH:mm:ss");
}
讲解
TFDatetime
date
这里是通过Calendar获取系统当前时间
dateAdd
这里是通过对Calendar时间进行偏移的方式得到过去或者未来的某一个时间
toDate
这里是将其他类型转换为Date类型的方法,包括:Calenar、Timestamp、String。
toTimestamp
这里是将其他类型转换为Timestamp类型的方法,包括:Calenar、Date、String。
toCalendar
这里是将其他类型转换为Calendar类型的方法,包括:Date、Timestamp、String。
toString
这里是将其他类型转换为字符串类型的方法,包括:Calendar、Date、Timestamp。
因为转换字符串需要指定时间格式,为了便于使用,福哥提供了默认格式的重载方法,默认的时间格式为“yyyy-MM-dd HH:mm:ss”这种符合咱们习惯的格式。
使用
测试代码
效果
总结
福哥今天带着童鞋们给我们的TFSpring框架添加了第一个模块对象——TFDatetime,它用来操作日期和时间,通过福哥提供的一系列重载方法,我们可以使用TFDatetime对象获取当前时间、过去的时间和未来的时间,还可以根据需要将这些时间转换成我们想要的类型。
下一课,福哥将带着大家给TFSpring框架添加用于文本编码的Encoding模块,敬请期待~~