专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
伯乐在线  ·  美国 IT 业裁员狂飙 ... ·  3 小时前  
伯乐在线  ·  美国 IT 业裁员狂飙 ... ·  3 小时前  
伯乐在线  ·  周鸿祎:准备干掉 360 整个市场部! ·  昨天  
伯乐在线  ·  周鸿祎:准备干掉 360 整个市场部! ·  昨天  
OSC开源社区  ·  OpenAI用Rust重写AI编程工具Cod ... ·  6 天前  
程序员的那些事  ·  程序员:在 8 ... ·  5 天前  
51好读  ›  专栏  ›  程序员大咖

Android开发实现自定义日历、日期选择控件效果

程序员大咖  · 公众号  · 程序员  · 2018-03-21 10:24

正文

请到「今天看啥」查看全文


public String luna ; //阴历 @Override public String toString () {
return "DateEntity{" +
"million=" + million +
", weekName='" + weekName + ''' +
", weekNum=" + weekNum +
", date='" + date + ''' +
", isToday=" + isToday +
", day='" + day + ''' +
", luna='" + luna + ''' +
'}' ;    }}

封装的日期获取的工具类:

package com.wzh.calendar.utils;

import com.wzh.calendar.bean.DateEntity;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;

public class DataUtils {
   public static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");    
   public static int selectPosition =-1;    
   
   public static int getSelectPosition() {        
       return selectPosition;    }  
         
   /**     *     * 获取当前日期一周的日期     * @param date     * @return     */    public static ArrayList getWeek(String date){        ArrayList result = new ArrayList<>();        Calendar cal =Calendar.getInstance();
       try {            cal.setTime(dateFormat.parse(date));        } catch (ParseException e) {            
           // TODO Auto-generated catch block            e.printStackTrace();        }        cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); //获取本周一的日期        for (int i = 0; i < 7; i++) {            DateEntity entity = new DateEntity();            entity.date = getValue(cal.get(cal.YEAR))+"-"+getValue(cal.get(cal.MONTH)+1)+"-"+getValue(cal.get(cal.DATE));            entity.million = cal.getTimeInMillis() ;            entity.day = getValue(cal.get(cal.DATE));            entity.weekNum = cal.get(Calendar.DAY_OF_WEEK);            entity.weekName = getWeekName(entity.weekNum);            entity.isToday = isToday(entity.date);            cal.add(Calendar.DATE, 1);            result.add(entity);        }        
       return  result ;    }    

   /**     * 获取当前日期一月的日期     * @param date     * @return     */    public static ArrayList getMonth(String date){        ArrayList result = new ArrayList<>();        Calendar cal =Calendar.getInstance();        
       try {            cal.setTime( new SimpleDateFormat("yyyy-MM").parse(date));        } catch (ParseException e) {            
           // TODO Auto-generated catch block            e.printStackTrace();        }        
       int max = cal.getActualMaximum(Calendar.DAY_OF_MONTH);        
       for (int i = 1; i <=max; i++) {            DateEntity entity = new DateEntity();            entity.date = getValue(cal.get(cal.YEAR))+"-"+getValue(cal.get(cal.MONTH)+1)+"-"+getValue(cal.get(cal.DATE));            entity.million = cal.getTimeInMillis() ;            entity.weekNum = cal.get(Calendar.DAY_OF_WEEK);            entity.day = getValue(cal.get(cal.DATE));            entity.weekName = getWeekName(entity.weekNum);            entity.isToday = isToday(entity.date);            entity.luna = getLuna(entity.date);            cal.add(Calendar.DATE, 1);            result.add(entity);        }        






请到「今天看啥」查看全文