在Android之间的两个日期之间的genarate日期 [英] genarate dates between two date in android

查看:199
本文介绍了在Android之间的两个日期之间的genarate日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好我是Android的新手。如何获取android中两个日期之间的所有日期。



例如。我有两个字符串。

String first =2012-07-15;

String second =2012-07-21;



我从这个字符串转换并获取日期。



DateFormat df1 = new SimpleDateFormat(yyyy-MM-dd);

DateFormat df2 =新的SimpleDateFormat(MMM dd);

String mydate = df2.format(df1
.parse(first)); code>



这样我就可以从第一个和第二个字符串获取这两个日期。



现在我也显示这两个日期之间的所有日期。任何人都可以帮我找到这个。

解决方案

最好不要在日期计算中使用任何硬编码的值。我们可以依靠java 日历类方法来执行此任务



查看代码

 私有静态列表< Date> getDates(String dateString1,String dateString2)
{
ArrayList< Date> dates = new ArrayList< Date>();
DateFormat df1 = new SimpleDateFormat(yyyy-MM-dd);

日期date1 = null;
日期date2 = null;

try {
date1 = df1 .parse(dateString1);
date2 = df1 .parse(dateString2);
} catch(ParseException e){
e.printStackTrace();
}

日历cal1 = Calendar.getInstance();
cal1.setTime(date1);


日历cal2 = Calendar.getInstance();
cal2.setTime(date2);

while(!cal1.after(cal2))
{
dates.add(cal1.getTime());
cal1.add(Calendar.DATE,1);
}
返回日期;
}

并使用如下

 列表< Date> dates = getDates(2012-02-01,2012-03-01); 
for(Date date:dates)
System.out.println(date);


Hello i am new in android. How to get all dates between two dates in android.

For example. I have two Strings.
String first="2012-07-15";
String second="2012-07-21";

I convert and get dates from this strings.

DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
DateFormat df2 = new SimpleDateFormat("MMM dd");
String mydate = df2.format(df1 .parse(first));

This way i get both dates from first and second String.

Now I also display all dates between these two dates. Can anybody help me to find this.

解决方案

it is better not to use any hardcoded values in date calculations. we can rely on java Calendar class methods to do this task

see the code

private static List<Date> getDates(String dateString1, String dateString2)
{
    ArrayList<Date> dates = new ArrayList<Date>();
    DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");

    Date date1 = null;
    Date date2 = null;

    try {
        date1 = df1 .parse(dateString1);
        date2 = df1 .parse(dateString2);
    } catch (ParseException e) {
        e.printStackTrace();
    }

    Calendar cal1 = Calendar.getInstance();
    cal1.setTime(date1);


    Calendar cal2 = Calendar.getInstance();
    cal2.setTime(date2);

    while(!cal1.after(cal2))
    {
        dates.add(cal1.getTime());
        cal1.add(Calendar.DATE, 1);
    }
    return dates;
}

and use it as below

    List<Date> dates = getDates("2012-02-01", "2012-03-01");
    for(Date date:dates)
        System.out.println(date);

这篇关于在Android之间的两个日期之间的genarate日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆