一、Calendar类
1. 说明
Calendar是java util包下的一个工具类,提供了很方便的不同日期格式的处理。
定义 | 字段 | 说明 |
---|---|---|
年份 | Calendar.YEAR | |
月份 | Calendar.MONTH | |
日期 | Calendar.DATE | |
这一天在这个月的第几天 | Calendar.DAY_OF_MONTH | 同“DATE” |
这一天是星期几 | Calendar.DAY_OF_WEEK | 可以为,SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY。其中,SUNDAY为1,MONDAY为2,依次类推。 |
这一天所在的周是这个月的第几周 | Calendar.DAY_OF_WEEK_IN_MONTH | |
这一天在这年的第几天 | Calendar.DAY_OF_YEAR | |
一天中的第几小时 | Calendar.HOUR | 12小时制 |
一天中的第几小时 | Calendar.HOUR_OF_DAY | 24小时制 |
一小时中的第几分钟 | Calendar.MINUTE | |
一分钟中的第几秒 | Calendar.SECOND | |
一秒钟的第几毫秒 | Calendar.MILLISECOND | |
这一周为一月中的第几周 | Calendar.WEEK_OF_MONTH | |
这一周为一年中的第几周 | Calendar.WEEK_OF_YEAR | |
纪元 | Calendar.ERA | 只能为0 或 1。0表示BC(“before Christ”,即公元前),1表示AD(拉丁语“Anno Domini”,即公元)。 |
毫秒为单位指示距 GMT 的大致偏移量 | Calendar.ZONE_OFFSET |
2. 使用
Calendar calendar=new GregorianCalendar();
System.out.println("当前系统时间"+calendar.getTime());
System.out.println("年份为"+calendar.get(Calendar.YEAR));
System.out.println("月份为"+calendar.get(Calendar.MONTH));
System.out.println("日期为"+calendar.get(Calendar.DATE));
System.out.println("这一天在这个月的第几天"+calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("这一天在这周的第几天"+calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("这一天所在的周是这个月的第几周"+calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("这一天在这年的第几天"+calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("12小时制下当前时"+calendar.get(Calendar.HOUR));
System.out.println("24小时制下当前时"+calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("分为"+calendar.get(Calendar.MINUTE));
System.out.println("秒为"+calendar.get(Calendar.SECOND));
System.out.println("毫秒为"+calendar.get(Calendar.MILLISECOND));
System.out.println("这一周为一月中的第几周"+calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("这一周为一年中的第几周"+calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("纪元为"+calendar.get(Calendar.ERA));
System.out.println("zone为"+calendar.get(Calendar.ZONE_OFFSET));
二、自定义实现日历控件
1. 布局
创建calendar_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="20sp"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/titleRl"
android:layout_width="match_parent"
android:layout_height="30dp">
<TextView
android:id="@+id/lastTv"
android:text="上一月