JavaApi高级编程(四)Date类以及如何使用

目录

一、Date的基本概念以及使用 

案例一:

二、DateFormat的应用

1、DateFormat日期格式化类(抽象类)

2、功能:完成日期的显示格式化

案例二:

三、Calender类

1、日期数据的定制格式:

2、日期格式化方法:

3、日期/时间组件方法:

 4、日期和时间模式

以上就是今天的内容,还请大佬对里面的内容稍作指点,谢谢*-*


一、Date的基本概念以及使用 

1、Date 类表示日期和时间(该类大部分方法已过时)

2、提供操纵日期和时间各组成部分的方法

3、Date 类的最佳应用之一是获取系统当前时间

4、获取系统当前时间是一个长整型数据Long, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据,表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数.

 

 案例一:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class TestNew {
	public static void main(String[] args) throws ParseException {
				/*
				 * 	Date:时间类 
				 */
				//实例化对象:当前的系统时间
				Date date = new Date();
//				System.out.println(date);
				/*
				 * 1秒=1000毫秒
				 */
				Date d = new Date(60000);
				System.out.println(d);
				//获取年
				int year = date.getYear()+1900;
				System.out.println(year);
				//获取月
				int month = date.getMonth()+1;
				System.out.println(month);
				//获取日
				int day = date.getDate();
				System.out.println(day);
				//获取周几
				int week = date.getDay();
				System.out.println(week);
				//获取时
				int hour = date.getHours();
				System.out.println(hour);
				//获取分
				int m = date.getMinutes();
				System.out.println(m);
				//获取秒
				int s = date.getSeconds();
				System.out.println(s);
				
				//获取1970年1月1日0:0:0 到指定时间之间的毫秒数
				long time = date.getTime();
				System.out.println(time);

二、DateFormat的应用

1、DateFormat日期格式化类(抽象类)

        A、String format(Date date)  方法用于格式化时间

        B、static DateFormat getDateInstance()   获取日期的DateFormat 对象

        C、static DateFormat getDateTimeInstance()   获取日期-时间的DateFormat 对象 static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle)获取给定    日期和时间格式化风格 DateFormat 对象 (可选参数 short,full, long, medium ,)

2、功能:完成日期的显示格式化

        A、只要通过向SimpleDateFormat 的构造函数传递格式字符串“EEEE-MM-dd-yyyy",

        B、我们就能够指明自己想要的格式. 然后调用DateFormat(Date date)方法,得到想要的格式。

        C、 EEEE是星期, MM是月, dd是日, yyyy是年. 字符的个数决定了日期是如何格式化的.传递"EE-MM-dd-yyyy"会显示 星期五-02-27-2009

案例二:

    	//实例化格式一个指定格式的 格式对象
		SimpleDateFormat sdf = new SimpleDateFormat("YYYY年MM月dd HH:mm:ss");
		System.out.println("格式化之前:"+date);
		//转换格式
		String sDate = sdf.format(date);
		System.out.println("格式化之后:"+sDate);
		
		//定义一个 字符串的时间
		String str = "1999年12月31日 23:59:59";
		//实例化一个时间格式对象
		SimpleDateFormat sdf2 = new SimpleDateFormat("YYYY年MM月dd日 HH:mm:ss");
		//解析字符串时间
		Date d2 =  sdf2.parse(str);
		System.out.println(d2);

三、Calender类

问题:

问:我们现在已经能够格式化并创建一个日期对象了, 但是我们如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟? 我们又如何在日期的这些部分加上或者减去值呢?  

 答:使用Calendar 类。Calendar 类也是一个抽象类,它有一个子类GregorianCalendar,接下来我会利用这个子类来演示这个过程,请看以下代码  

    //使用GregorianCalendar类获取时间相关信息
    calendar.get(Calendar.YEAR) 获取年
    calendar.get(Calendar.MONTH) + 1) 获取月
    cal.add(Calendar.YEAR, 2); //年上加2年


    private void fun3() {
		Calendar cal = new GregorianCalendar();
        //设置cal的年份为 2012年
		cal.set(Calendar.YEAR, 2012);
        //打印年份
		System.out.println(cal.get(Calendar.YEAR)); 
        //设置月份
		cal.set(Calendar.MONTH, 9); 
		System.out.println(cal.get(Calendar.MONTH));
        //设置年月日
		cal.set(2018, 3, 2); 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		System.out.println(sdf.format(cal.getTime()));
		cal.add(Calendar.YEAR, 2); //年上加2年
		cal.add(Calendar.MONTH, 2);//月上加2
		System.out.println(sdf.format(cal.getTime()));
		System.out.println(cal.get(Calendar.DAY_OF_WEEK));//获取星期几
        //创建一个日期对象
        //让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子. 
        //这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间. 
        import java.util.Date;
        public class DateExample1{  
              public static void main(String[] args){
              Date date = new Date(); 
              System.out.println(date.getTime()); 
      }
} 

1、日期数据的定制格式:

import java.text.SimpleDateFormat;
import java.util.Date;
 public class DateExample2{
     public static void main(String[] args) {
     SimpleDateFormat bartDateFormat = new SimpleDateFormat(“EEEE-MMMM-dd-yyyy”); 
// E  星期中的天数, M  年中的月份 , D  年中的天数,y年 
     Date date = new Date();         
     System.out.println(bartDateFormat.format(date));    
    }
}

2、日期格式化方法:

Date类型还有一些专门用于将日期格式化为字符串的方法,这些方法如下:  

  toDateString() //以特定于实现的格式显示星期几、月、日和年;    

  toTimeString() //以特定于实现的格式显示时、分、秒和时区;  

  toLocaleDateString() //以特定于地区的格式显示星期几、月、日和年;  

  toLocaleTrimeString() //以特定于实现的格式显示时、分、秒;  

  toUTCString() //以特定于实现的格式完整的UTC日期。

与toLocaleString()和toString()方法一样,以上这些字符串格式方法的输出也是因浏览器而异的,因此没有哪一个方法能够用来在用户界面中显示一致的日期信息。

3、日期/时间组件方法:

        1、getUTCMinutes() 返回UTC日期中的分钟数(O到59)。

        2、setMinutes(分) 设置日期中的分钟数。传入的值超过59则增加小时数

        3、setUTCMinutes(分) 设置UTC日期中的分钟数。传入的值超过59则增加小时数

        4、getSeconds() 返回日期中的秒数(O至IJ59)。  

         5、getUTCSeconds() 返回UTC日期中的秒数(0到59)。    

        6、setSeconds(秒) 设置日期中的秒数。传人的值超过了59会增加分钟数  

        7、set UTCSeconds(秒) 设置UTC日期中的秒数。传人的值超过了59会增加分钟数

        8、getMilliseconds() 返回日期中的毫秒数

        9、getUTCMilliseconds() 返回UTC日期中的毫秒数

        10、setMilliseconds(毫秒) 设置日期中的毫秒数

        11、setUTCMilliseconds(毫秒) 设置UTC日期中的毫秒数

        12、getTimezoneOffset() 返回本地时间与UTC时间相差的分钟数。

例如,美国东部标准时间返回300。在某地进入夏令时的情况下,这个值会有所变化

 4、日期和时间模式

        1、字母  日期或时间元素  表示  示例  

        2、y  年  Year  1996; 96  

        3、M  年中的月份  Month  July; Jul; 07  

        4、w  年中的周数  Number  27  

        5、W  月份中的周数  Number  2  

        6、D  年中的天数  Number  189  

        7、d  月份中的天数  Number  10  

        8、 F  月份中的星期  Number  2  

        9、E  星期中的天数  Text  Tuesday; Tue  

        10、a  Am/pm 标记  Text  PM  

        11、H  一天中的小时数(0-23)  Number  0  

        12、k  一天中的小时数(1-24)  Number  24  

        13、K  am/pm 中的小时数(0-11)  Number  0  

        14、h  am/pm 中的小时数(1-12)  Number  12  

        15、m  小时中的分钟数  Number  30  

        16、s  分钟中的秒数  Number  55  

        17、S  毫秒数  Number  978  

        18、z  时区  General time zone  Pacific Standard Time; PST; GMT-08:00  

        19、Z  时区  RFC 822 time zone  -0800  

以上就是今天的内容,还请大佬对里面的内容稍作指点,谢谢*-*

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天蝎座的程序媛

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值