1、java.util.Date类
package LESSON9; import java.util.Date; public class demo1 { public static void main(String[] args) { Date date=new Date(); System.out.println(date);
//大部分方法已过时(了解) System.out.println(date.toLocaleString());//以当前语言环境显示时间。 System.out.println(date.getYear()+1900); System.out.println(date.getMonth()+1); System.out.println(date.getDate()+"日"); System.out.println("星期"+date.getDay()); System.out.println(date.getHours()); System.out.println(date.getMinutes()); System.out.println(date.getSeconds()); } }
2、java.util.Calendar类
java.util.Date类中获取当前年、月、日和将时间格式化以及将字符串类型的日期转换为Date对象的方法都已经被废弃。
如果想要获取Date对象的年、月、日、星期等操作,需要使用Calendar类以及其子类完成。
Calendar是一个抽象类,它为获取和修改年、月、日、星期等日历字段提供了一系列的方法。
package LESSON9; import java.util.Calendar; import java.util.GregorianCalendar; public class demo2 { public static void main(String[] args) { Calendar c=Calendar.getInstance();//Calendar是一个抽象类,不能实例化 System.out.println(c.get(Calendar.YEAR)+"年");//字段satic修饰,类名.字段直接调用 System.out.println(c.get(Calendar.MONTH)+1+"月");//get(int field)返回给定日历字段的值 System.out.println(c.get(Calendar.DATE)+"日"); System.out.println(c.get(Calendar.HOUR_OF_DAY)+"时");//24小时制。HOUR 12小时制 System.out.println(c.get(Calendar.MINUTE)+"分"); System.out.println(c.get(Calendar.SECOND)+"秒"); System.out.println("星期"+(c.get(Calendar.DAY_OF_WEEK)-1)); System.out.println(c.get(Calendar.DAY_OF_YEAR)); System.out.println(c.get(Calendar.WEEK_OF_YEAR)); for(int i=1900;i<2020;i++){//自定义判断是否闰年的方法 if((i%4==0&&i%100!=0)||i%400==0){ System.out.print(i+"\t"); } } System.out.println(); GregorianCalendar gre=new GregorianCalendar();//GregorianCalendar是Calendar的一个直接子类 for(int i=1900;i<2020;i++){ if(gre.isLeapYear(i)){//判断指定年份是不是闰年 System.out.print(i+"\t"); } } } }
3、java.text.SimpleDateFormat
常用方法
String format(Date date);将一个java.util.Date对象按照指定的模式格式化为日期
Date parse(String date);将一个日期字符串按照指定模式解析为 java.util.Date类型的对象
package LESSON9; import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; public class demo3 { public static void main(String[] args) { // TODO Auto-generated method stub Date date=new Date(); System.out.println(date); //格式化时间日期 SimpleDateFormat sdf=new SimpleDateFormat();//默认模式格式化时间 System.out.println(sdf.format(date));//format()将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer。 SimpleDateFormat sdft=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");//指定模式格式化时间 System.out.println(sdft.format(date)); //H一天中的小时数(0-23) h am/pm 中的小时数(1-12) E星期中的天数 String time="2019/06/05 22:22:22"; SimpleDateFormat sdf2=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); try { Date d = sdf2.parse(time);// parse()解析字符串的文本,生成 Date。 System.out.println(d); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }// 解析字符串的文本,生成 Date。 } }
4、java.text.DecimalFormat
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。
常用方法
String format(double d);格式化数字为字符串
Number parse(String str);解析字符串数字为Number对象。
抽象类 Number
是 BigDecimal
、BigInteger
、Byte
、Double
、Float
、Integer
、Long
和 Short
类的超类。
doubleValue()以 double
形式返回指定的数值。intValue() 以
int
形式返回指定的数值。等
package LESSON9; import java.text.DecimalFormat; import java.text.ParseException; public class demo4 { public static void main(String[] args) { //格式化数字 DecimalFormat df1=new DecimalFormat();//默认模式 double money=1120000.546; System.out.println(df1.format(money)); DecimalFormat df2=new DecimalFormat("##,##.00");//指定模式 System.out.println(df2.format(money)); String str="9978145.256"; DecimalFormat df3=new DecimalFormat("#,##.00"); try { Double num=(df3.parse(str)).doubleValue();//只解析,不格式化。 System.out.println(num); System.out.println(df3.format(num)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
原文:https://www.cnblogs.com/qfdy123/p/10981771.html