栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安卓日历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);   //获取当前年份赋值给year
          Log.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);   //获取当前日期赋值给day
          Log.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,点开源码看一下
 
public final static int SUNDAY = 1;


public final static int MonDAY = 2;


public final static int TUESDAY = 3;


public final static int WEDNESDAY = 4;


public final static int THURSDAY = 5;


public final static int FRIDAY = 6;


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));//打印一下日历指向年份,发现是去年的2020年
         
          calendar.add(Calendar.MONTH,1);  //该日历指向的月份加1
          month=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);    //日加1
          day=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日期选择器(先留着以后写)

https://github.com/Bigkoo/Android-PickerView //三方控件
implementation ‘com.squareup:android-times-square:1.6.5@aar’ //三方控件

四、TimePicker时间选择器(先留着以后写)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/314785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号