1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 安卓日历Calendar和DatePicker日期选择器的使用

安卓日历Calendar和DatePicker日期选择器的使用

时间:2018-10-14 17:30:54

相关推荐

安卓日历Calendar和DatePicker日期选择器的使用

一、Calendar的使用

Calendar 该控件可以获得日期和时间,可以获取当前的,也可以根据当前日期加减年月日时分秒。

比如想做一个类似这样的东西,只使用Calendar 就够了。

1:获取年、月、日、周、时、分、秒

private Calendar calendar;//定义一个全局的private int year;//年private int month; //月private int day; //日calendar= Calendar.getInstance(); // 然后获得该类的实列year=calendar.get(Calendar.YEAR); //获取当前年份赋值给yearLog.e(TAG,"当前年份:"+calendar.get(Calendar.YEAR));month=calendar.get(Calendar.MONTH); //获取当前月份赋值给month,月份坐标是从0开始的0~11,真实月份要在该基础上+1;Log.e(TAG,"当前月份"+(calendar.get(Calendar.MONDAY)+1) );day=calendar.get(Calendar.DAY_OF_MONTH); //获取当前日期赋值给dayLog.e(TAG,"本月的第几天:"+calendar.get(Calendar.DAY_OF_MONTH));//也可以获取第几周Log.e(TAG,"在本月的第几周"+calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));Log.e(TAG,"周几:"+calendar.get(Calendar.DAY_OF_WEEK)); Log.e(TAG,"在本年的第几周:"+calendar.get(Calendar.WEEK_OF_YEAR));

//这个时候我发现一个明显错误和英文字面上意思不一样,返回的数字和周几不一样,今天周一返回的却是2,点开源码看一下

/*** Value of the {@link #DAY_OF_WEEK} field indicating* Sunday.*/public final static int SUNDAY = 1;/*** Value of the {@link #DAY_OF_WEEK} field indicating* Monday.*/public final static int MONDAY = 2;/*** Value of the {@link #DAY_OF_WEEK} field indicating* Tuesday.*/public final static int TUESDAY = 3;/*** Value of the {@link #DAY_OF_WEEK} field indicating* Wednesday.*/public final static int WEDNESDAY = 4;/*** Value of the {@link #DAY_OF_WEEK} field indicating* Thursday.*/public final static int THURSDAY = 5;/*** Value of the {@link #DAY_OF_WEEK} field indicating* Friday.*/public final static int FRIDAY = 6;/*** Value of the {@link #DAY_OF_WEEK} field indicating* Saturday.*/public final static int SATURDAY = 7;

//发现返回1表示周日、返回2表示周一以此类推,返回7表示周六

//也可以获取时、分、秒

Log.e(TAG,"获取时,24小时制:"+calendar.get(Calendar.HOUR_OF_DAY));Log.e(TAG,"获取时,12小时制:"+calendar.get(Calendar.HOUR));Log.e(TAG,"获取分:"+calendar.get(Calendar.MINUTE));Log.e(TAG,"获取秒:"+calendar.get(Calendar.SECOND));Log.e(TAG,"获取毫秒:"+calendar.get(Calendar.MILLISECOND));Log.e(TAG,"获取完整日期和时间:"+calendar.getTime());

2: calendar.add( );的使用

目前只能获取当前日期,做成上图效果还不够,需要在日历年月日的基础上加减,该类这个方法可以实现calendar.add(Calendar.YEAR,-1); //该日历指向的年份减1,如果需要加1就把方法的第二个参数改为1,该方法不限于1,也可以加减5、6、2等等。year=calendar.get(Calendar.YEAR); //获取当前年份赋值给year,此时输出year是已经减1年的日期Log.e(TAG,"当前年份:"+calendar.get(Calendar.YEAR));//打印一下日历指向年份,发现是去年的calendar.add(Calendar.MONTH,1); //该日历指向的月份加1month=calendar.get(Calendar.MONTH); //获取当前月份赋值给month,以供输出最新月份Log.e(TAG,"当前月份"+(calendar.get(Calendar.MONDAY)+1) ); //该加1是因为月份是0~11,不是1~12,真实月份要在获取月份上+1;calendar.add(Calendar.DAY_OF_YEAR,1); //日加1day=calendar.get(Calendar.DAY_OF_MONTH); //获取当前日期赋值给day,以供输出最新日期Log.e(TAG,"当前月份"+(calendar.get(Calendar.DAY_OF_MONTH)) ); //打印当前日期

二、格式化时间 SimpleDateFormat的简单使用 , SimpleDateFormat //该类可以格式化时间,在返回有关日期经常使用

Date date = new Date();SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy--MM--dd HH:mm:ss");Log.e("格式化时间",simpleDateFormat.format(date));

三、DatePicker日期选择器(先留着以后写)

/Bigkoo/Android-PickerView //三方控件

implementation ‘com.squareup:android-times-square:1.6.5@aar’ //三方控件

四、TimePicker时间选择器(先留着以后写)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。