Java基础笔记21-日期格式

Java基础笔记21-日期格式

1.Date类
  • 使用Date类获取当前时间及比较时间的先后

  • 导入路径

    • import java.util.Date;
      
  • 示例:

import java.util.Date;

public class DateDemo {
	public static void main(String[] args) {
		//创建一个Date类对象用于调用方法及操作
		Date date = new Date();
		//直接输出得到的是 获取系统当前时间组成的字符串 格式:Tue Nov 17 16:17:23 CST 2020
		System.out.println(date);
		//getTime() 获取时间毫秒值   1605601392239
		System.out.println(""+date.getTime());
		
		//时间的比较
		Date oldDate = new Date(1605601392239L);
		System.out.println(oldDate);//Tue Nov 17 16:23:12 CST 2020
		//当前时间是否在指定时间之后
		System.out.println(date.after(oldDate));//true
		//当前时间是否在指定时间之前
		System.out.println(date.before(oldDate));//false
		//compareTo()现在时间在指定时间之前为-1,等于指定时间为0,在指定时间之后为1
		System.out.println(date.compareTo(oldDate));//1
	}
}
2.Calendar类
  • Calendar类用于获取单独的年、月、日、时、分、秒

  • 导入路径

    • import java.util.Calendar;
      
  • 示例:

  • import java.util.Calendar;
    
    public class CalendarDemo {
    	public static void main(String[] args) {
    		//使用getInstance()创建一个实例对象,
    		Calendar cal = Calendar.getInstance();
    		//获取单独的时间值
    		int year = cal.get(Calendar.YEAR);
    		int month = cal.get(Calendar.MONTH)+1;//月份默认从零开始,按中国的习惯需加1
    		int day = cal.get(Calendar.DAY_OF_MONTH);
    		int hour = cal.get(Calendar.HOUR_OF_DAY);
    		int minute = cal.get(Calendar.MINUTE);
    		int second = cal.get(Calendar.SECOND);
    		int milliSeconds = cal.get(Calendar.MILLISECOND);
    		
    		//将时间值拼接为字符串
    		String time = year+"年"+month+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒"+milliSeconds+"毫秒";	
    		System.out.println(year);
    		System.out.println(month);
    		System.out.println(day);
    		System.out.println(hour);
    		System.out.println(minute);
    		System.out.println(second);
    		System.out.println(milliSeconds);
    		System.out.println(time);
    	}
    }
    
  • 输出:

  • 2020
    11
    17
    17
    25
    4
    434
    2020111717254434毫秒
    
3.DateFormat类
  • DateFormat提供了许多类方法,用于根据默认或给定的区域设置和多个格式化样式获取默认的日期/时间格式化程序。

  • 格式化风格包括FULL 、LONG 、MEDIUM 、SHORT。

  • 导入路径

    • import java.text.DateFormat;
      
  • format()格式化一个对象来生成一个字符串

代码示例:

import java.text.DateFormat;
import java.util.Date;

public class DateFormatDemo {

	public static void main(String[] args) {
		//创建一个DateFormat对象,输出年月日时间
		//DateFormat df = DateFormat.getDateInstance();//2020年11月17日
		//DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);//2020/11/17
		//DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);//2020年11月17日
		//DateFormat df = DateFormat.getDateInstance(DateFormat.LONG);//2020年11月17日
		DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);//2020年11月17日星期二
		System.out.println(df);//java.text.SimpleDateFormat@6bfa08c
		String date = df.format(new Date());//format()格式化一个对象来生成一个字符串
		System.out.println(date);
		
		//创建一个DateFormat对象,输出时分秒时间
		//DateFormat dfT = DateFormat.getTimeInstance();//下午6:58:09
		//DateFormat dfT = DateFormat.getTimeInstance(DateFormat.SHORT);//下午6:58
		//DateFormat dfT = DateFormat.getTimeInstance(DateFormat.MEDIUM);//下午6:59:11
		//DateFormat dfT = DateFormat.getTimeInstance(DateFormat.LONG);//CST 下午6:59:42
		DateFormat dfT = DateFormat.getTimeInstance(DateFormat.FULL);//中国标准时间 下午7:00:09
		String time = dfT.format(new Date());
		System.out.println(time);
			
		//创建一个DateFormat对象,输出年月日时分秒时间
		//DateFormat dfDT = DateFormat.getDateTimeInstance();//2020年11月17日 下午7:04:23
		//DateFormat dfDT = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);//2020/11/17 下午7:05
		//DateFormat dfDT = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);//2020年11月17日 下午7:06:15
		//DateFormat dfDT = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);//2020年11月17日 CST 下午7:06:43
		DateFormat dfDT = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);//2020年11月17日星期二 中国标准时间 下午7:07:00
		String dateTime = dfDT.format(new Date());
		System.out.println(dateTime);
	}
}
4.SimpleDateFormat类
  • 使用这个类可以自定义日期格式输出

  • 需要注意的是字母对应的意义,以下几个是最常用的格式字符,根据对应字母的数量来显示数字位数,个数不够会自动增加,正常来说年份是四个y,其他都两个比较常用。

    • y年份
    • M月份
    • d在月份中的第几天
    • H(显示按24小时制的小时数0-23) h (显示按12小时制的时间1-12)
    • m在小时中的第几分钟
    • s在分钟的第几秒
  • 示例:

  • import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class SimpleDateFormatDemo {
    	public static void main(String[] args) {
    		//创建一种日期格式
    		String myFormat1 = "yy-MM-dd HH:mm:ss";
    		//使用SimpleDateFormat转化自己创建的格式
    		SimpleDateFormat sdf1 = new SimpleDateFormat(myFormat1);
    		//使用新格式对当前时间进行格式化
    		String dateTime1 = sdf1.format(new Date());
    		System.out.println(dateTime1);//20-11-17 19:28:16
    		
    		String myFormat2 = "yyyy/MM/dd hh:mm:ss";
    		SimpleDateFormat sdf2 = new SimpleDateFormat(myFormat2);
    		String dateTime2 = sdf2.format(new Date());
    		System.out.println(dateTime2);//20/11/17 2020/11/17 08:15:00
    		
    		String myFormat3 = "yyyy年MM月dd日 HH时mm分ss秒 ";
    		SimpleDateFormat sdf3 = new SimpleDateFormat(myFormat3);
    		String dateTime3 = sdf3.format(new Date());
    		System.out.println(dateTime3);//2020年11月17日 20时12分19秒 
    	}
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值