import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) throws ParseException {
Date d1 = new Date();//创建时间对象
long time1 = d1.getTime();//得到时间毫秒值
System.out.println(d1);//如果直接输出对象名,他会打出时间 日历,说明它重写了tostring方法
System.out.println(time1);
long time2 = System.currentTimeMillis();//也可以通过这个来得到时间毫秒值
//再调用Date类的另一个构造器得到有点格式的时间形式
System.out.println(time2);
System.out.println(new Date(time2));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss a");
System.out.println(sdf.format(d1));//打印出有格式的时间和日期
//同时它也可以将毫秒值转换成具有格式的时间和日期
System.out.println(sdf.format(time2));
//另外这个类还可以将字符串的时间日期格式转换成Date类的数据
String time3 = "2021年10月9日 20:15:10 下午";
//这个时候SimpleDateFormat 设置的格式要严格和字符串的格式一样,要不然就会报错
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss a");
Date d2 =sdf2.parse(time3);//这里要抛出异常
System.out.println(d2);
System.out.println(sdf.format(d2));
}
}
二、Calendar类
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Calendar cd = Calendar.getInstance();//日历对象不能直接创建对象,要用它里面的静态方法来返回一个日历对象
System.out.println(cd);//直接打印日历对象,会把它的所有信息展示出来
System.out.println(cd.get(Calendar.DAY_OF_MONTH));
System.out.println(cd.get(Calendar.DAY_OF_YEAR));
System.out.println(cd.get(Calendar.YEAR));
System.out.println(cd.get(Calendar.MONTH)+1);//月份默认是正常月份减一
long time = cd.getTimeInMillis();//要从日历中得到时间,要用成员方法getTimeInMillis()
Date d1 = cd.getTime();//也可以从日历中得到date对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd月 HH:mm:ss a");
System.out.println(sdf.format(time));
System.out.println(sdf.format(d1));
cd.set(Calendar.MONTH,6);//可以通过这个去修改日期里面的值
System.out.println(cd.get(Calendar.MONTH));
cd.add(Calendar.MONTH,-1);//在给定日历字段中添加或减去指定的时间量
System.out.println(cd.get(Calendar.MONTH));//5
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)