计算机自己识别的时间格式,不是相关专业的人员根本就无法识别出来,所以就有了转换的概念。
把计算机时间转换为字符串。为啥要转换呢?想通这个问题?
为啥要转换?因为你不转换我们人类无法识别计算机所给出的时间数据。
比如这样的: Mon Nov 18 09:47:25 CST(china standard time) 2020。你能看出是个啥意思吗?就算能看出来,也得动一番脑筋。人最不喜欢的就是动脑筋,能懒则懒是人类的准则。
所以计算机语言就需要一个载体把它呈现出来。
类 SimpleDateFormat
SimpleDateFormat
是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。 SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过DateFormat中的getTimeInstance、getDateInstance 或getDateTimeInstance 来创建日期-时间格式器。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式器。可以根据需要使用 applyPattern方法来修改格式模式。——format方法
代码示例:
Date date=new Date( );
//把日期时间格式转为字符串
SimpleDateFormat df=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
//把时间数据添加一个时间格式载体中
String dateStr=df.format(date);
//输出时间格式
System.out.println(dateStr);
以上是把计算机中的时间数据以文字的方式展示出来。现在我们要把文字格式的时间转换为计算机认识的格式然后呈现出来——parse方法
String str="2020年12月1日14时43分45秒";
try{
Date date2=df.parse(str);
System.out.println(date2);
}catch(Exception e){
e.printStackTrace();
}
关于DateFormat中的预定义格式。
指定语言环境、指定预定义日期格式。
//DateFormat.FULL:指定日期格式 。 Locale.CHINA指定语言环境
DateFormat dateInstance = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);
//把时间数据放到指定日期格式中
String format = dateInstance.format(date);
//输出时间
System.out.println(format);
以下时间格式:
DateFormat . SHORT :20-12-1
DateFormat . MEDIUM :2020-12-1
DateFormat . LONG :2020年12月1日
DateFormat . FULL :2020年12月1日 星期二
时间格式与指定语言环境最终的目的是为了更方便人类使用。
人类为了更好的辨别日期,所以有了一个日历。要想写出一个日历,就用到Calendar这个类,它是一个抽象类。
// 根据当前语言环境、当前时区当前时间构建一个日历
Calendar c = Calendar.getInstance();
// 取日历字段的值——年
int year = c.get(Calendar.YEAR);
System.out.println(year);
//取日历字段的值—月
// month 从 0 开始
int month = c.get(Calendar.MONTH);
//取日历字段的值—日
int day = c.get(Calendar.DAY_OF_MONTH);
// 获取星期几?一周的第一趟从周日开始
int week = c.get(Calendar.DAY_OF_WEEK);
System.out.println(week);
// 获取一个日,月、年有几天?
System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println(c.getActualMinimum(Calendar.DAY_OF_MONTH));
System.out.println(c.getActualMaximum(Calendar.DAY_OF_YEAR));
以上怎么长的东西,你看不看随你喜欢,你只要抓住Calendar这个类就好。它是主要的东西。
结语:计算机时间也会用来做业务处理,时间在计算机中很重要,不单单是为了人类方便看而已,它还有很多用途。
使用时间就得new一个Date。
要想使用好格式就需要到SimpleDateFormat中两个方法,format和parse。
DateFormat.XXXX:指定日期格式 。 Locale.XXXX指定语言环境。
举报/反馈