如果要 *** 作日期一定要使用日期的处理类。
5.1 java.util.Date 类
如果想要取得当前日期时间,直接实例化java.util.Date 类即可取得。
范例:利用StringBuffer修改字符串
package day2;
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
System.out.println(date);
}
}
Fri Apr 22 17:20:11 CST 2022
虽然Date类的对象可以取得当前时间,但是结果是这个日期时间的可读性不适合于观看。
一直强调,日期时间 = long数据内容。这一点在Date类上有很好的体现。
(1)构造方法:public Date(long date);
(2)将Date以long型返回:public long getTime()
范例:实现转换
package day2;
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
long num = date.getTime();
System.out.println(num);
}
}
165076348049
在实际使用中,很少会出现这样的转换,但是Date和long可以相互转换。
5.2 日期格式化:SimpleDateFormat
Date虽然可以进行日期时间的取得,但是大部分情况下这样的日期时间取得并不好用,因为它所给出的日期时间格式很难看懂。所以在java中考虑了日期的显示格式要求。那么往往最终都会按照String进行显示。
如果要想实现这样的格式化 *** 作,可以使用java.test.SimpleDateFormat类完成。这个类重点有以下几个方法:
(1)将日期格式化成字符串:public final String format(Date date)
(2)将字符串解析生成日期:public Date parse(String source) throws ParseException
(3)构造方法:public SimpleDateFormat(String pattern)
(3.1)格式化标记:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)
范例:将日期转化成字符串
package day2;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String dateStr = sdf.format(date);
System.out.println(dateStr);
}
}
2022-04-24 10:14:38.650
范例:将字符串转换成日期时间
package day2;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
String strDate = "1911-11-11 11:11:11";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(strDate);
System.out.println(date);
}
}
Sat Nov 11 11:11:11 CST 1911
**总结:现在为止String,基本类型、Date已经实现了彻底的转换贯通:
(1)String变基本类型:包装类;
(2)基本类型变String:String.valueOf();
(3)Date与String转换:SimpleDateFormat
5.3 Calendar 类
Calendar 主要的功能是可以进行日期的拼凑使用。Calendar本身是一个抽象类,但是可以直接利用这个抽象类中提供的static方法进行实例化对象的取得:public static Calendar getInstance()。
随后可以利用Calendar类中的一个方法取得指定的日期时间数据:public int get(int field)。但是在使用此方法的时候需要使用一些特定的常量。
范例:取得当前的日期时间
package day2;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
Calendar calendar = Calendar.getInstance();//取得Calendar类的实例化对象
StringBuffer buffer = new StringBuffer();
buffer.append(calendar.get(Calendar.YEAR)).append("年");
buffer.append(calendar.get(Calendar.MONTH) +1).append("月");
buffer.append(calendar.get(Calendar.DAY_OF_MONTH)).append("日");
buffer.append(calendar.get(Calendar.HOUR_OF_DAY)).append("时");
buffer.append(calendar.get(Calendar.MINUTE)).append("分");
buffer.append(calendar.get(Calendar.SECOND)).append("秒");
buffer.append(calendar.get(Calendar.MILLISECOND)).append("毫秒");
System.out.println(buffer);
}
}
2022年4月24日10时41分33秒76毫秒
使用Calendar的好处是可以方便计算出日期或时间之间的间隔。
注 日期工具类可以查看:https://blog.csdn.net/weixin_54811122/article/details/114941688
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)