欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java截取字符串的子串————关于年月日的截取

程序员文章站 2022-05-27 16:32:08
...

复习java的基础知识:
项目中从服务器获取的字符串格式如下:20180604这样的格式
用到知识点substring

因为日历有签到的逻辑 匹配年月日 才可以设置背景色
把后台获取的数据 拆分成4.2.2的格式

 String year = signInDay.getSignTime().substring(0, 4);
 String month = signInDay.getSignTime().substring(4, 6);
 String day = signInDay.getSignTime().substring(6, 8);

设置显示的年月日 如果是这样的格式201864
可以用以下方法 自动补零设置成20180604这样的格式

 signInCalendar.setMonth(String.format(Locale.CHINA, "%02d", monthDay));//最低2位数字 不够补零 
 signInCalendar.setYear(String.format(Locale.CHINA, "%04d", year));
 signInCalendar.setDay(String.format(Locale.CHINA, "%02d", upMonthDay - (weeks - 1 - i)));

获取当前年月日Calender

 Calendar c = Calendar.getInstance();
 c.setTime(new Date(System.currentTimeMillis()));
 //这里将年固定为四位 防止出错
 String year = String.format(Locale.CHINA, "%04d", c.get(Calendar.YEAR));
 String month = String.format(Locale.CHINA, "%02d", c.get(Calender.MONTH));
 String day = String.format(Locale.CHINA, "%02d", c.get(Calender.DAY_OF_MONTH));
//格式化日历的个位数取到的01,09 设置到显示的时候为1-9 
String str_day = getItem(position).getDay();
        int showDay = Integer.valueOf(str_day);
        if (showDay < 10) {
            str_day = String.format(Locale.CHINA, "%1d", showDay);
        }
        mTvDay.setText(str_day);
与君共勉

我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天
Java截取字符串的子串————关于年月日的截取