日期操作类
从整体Java来讲一直在强调简单Java类的主要涉及其来自于数据表的结构,那么在数据表的结构里面常用的类型:数字、字符串、日期。
Date日期处理类
在Java中提供java.util.Date的类,这个类直接实例化就可以获取当前的日期时间。
获取当前日期时间
import java.util.Date;
public class DateStudy {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}
}
此时需要进一步观察Date的构造方法。
public Date() {
this(System.currentTimeMillis());
}
public Date(long date) {
fastTime = date;
}
通过以上代码可以看出:Date只是对long数据的一种包装,所以Date类中所有提供日期与long数据类型转换的方法:
- 将long转换为日期:
public Date(long date);
- 将日期转换为long:
public long getTime();
import java.util.Date;
public class DateStudy {
public static void main(String[] args) {
Date date = new Date();
long currtentTime = date.getTime();
currtentTime += 864000 * 1000; //10天的秒数
System.out.println(new Date(currtentTime));
}
}
long中可以保存毫秒的数据级,方便程序处理。
SimpleDateFormat日期处理类
虽然Date可以获取当前日期时间,但默认情况下Date类输出的默认日期时间结构难以理解,现在需要对其格式化,在java.text包中提供有SimpleDateFormat程序类,该类是DataFormat的子类,再该类中提供如下方法:
- 【DateFormat继承】将日期格式化:
public final String format(Date date);
- 【DateFormat继承】将字符串转为日期:
public Date parse(String source) throws ParseException;
- 构造方法:
public SimpleDateFormat(String pattern);
- 日期格式:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS);
日期格式化显示
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateStudy {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String str = sdf.format(date);
System.out.println(str);
}
}
除了可以将日期格式化为字符串之后,也可实现字符串与日期之间的转换处理。
将日期转换为Date
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateStudy {
public static void main(String[] args) throws Exception {
String day = "1846-11-11 11:11:11.111"; //字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = sdf.parse(day);
System.out.println(date);
}
}
如果在进行字符串定义的时候使用的日期数字超过合理范围,则会自动进行进位处理。
利用NumberFormat对数字格式化
import java.text.NumberFormat;
public class DateStudy {
public static void main(String[] args) throws Exception {
double money = 1235435645.234; //字符串
String str = NumberFormat.getInstance().format(money);
System.out.println(str);
}
}
通过现在的学习发现String可以向所有类型转换:基本类型、日期类型。
扫描二维码关注公众号,回复:
12706272 查看本文章