Android 计算两个日期之间的日期间隔,因为我有字符串中的日期。我该怎么做。。?

Android 计算两个日期之间的日期间隔,因为我有字符串中的日期。我该怎么做。。?,android,Android,朋友们 我想知道如何为android和java实现日期和时间函数 我正在开发一个显示图片发布日期的应用程序。我正在列表视图中显示该日期。例如我正在播放类似//的内容,发布日期:20/3/2012。相反,我想计算两个日期和字符串类型中的日期之间的时间间隔。此外,我还要计算秒、分、小时。我该怎么做 问候,, 维鲁 大宗报价 通过谷歌搜索,我找到了这样做的方法。最后它成功了 大宗报价 这就是我所做的,它可以用来构建一个方法,将20/3/2012字符串转换为pastDate日历对象。然后使用Calend

朋友们

我想知道如何为android和java实现日期和时间函数

我正在开发一个显示图片发布日期的应用程序。我正在列表视图中显示该日期。例如我正在播放类似//的内容,发布日期:20/3/2012。相反,我想计算两个日期和字符串类型中的日期之间的时间间隔。此外,我还要计算秒、分、小时。我该怎么做

问候,, 维鲁

大宗报价

通过谷歌搜索,我找到了这样做的方法。最后它成功了

大宗报价


这就是我所做的,它可以用来构建一个方法,将20/3/2012字符串转换为pastDate日历对象。然后使用Calendar today=Calendar.getInstance();获取当前时间。然后构建另一个方法来计算今天和过去日期之间的天数。最后,为了让它变得更好,一个if语句可以处理最后一天(例如“在最后X小时内”)或更早(例如,按照您的要求:“X天前”)。

我已经用冗长的方式快速编写了这篇文章,因为我手头已经有了库过程

package com.me.mytime;

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

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;

public class MyTimeActivity extends Activity
{
    private static final String TAG = "MyTimeActivity";

    //Activity
    private Context context;

    /**
     * Called when the activity is first created
     */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        this.context = this;

        Calendar c1 = stringToCalendar("2012-03-20");
        Calendar c2 = stringToCalendar("2012-03-26");
        String elapsedDaysText = getElapsedDaysText(c1, c2);
    }

    public static Calendar stringToCalendar(String dateString)
    {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        try
        {
            date = formatter.parse(dateString);
            cal.setTime(date);
        }
        catch(ParseException e)
        {
            cal = null;
        }
        return cal;
    }   

    public String getElapsedDaysText(Calendar c1, Calendar c2)
    {
        long milliSeconds1 = c1.getTimeInMillis();
        long milliSeconds2 = c2.getTimeInMillis();
        long periodSeconds = (milliSeconds2 - milliSeconds1) / 1000;
        long elapsedDays = periodSeconds / 60 / 60 / 24;
        String elapsedDaysText = String.format("%d days ago", elapsedDays);
        return elapsedDaysText;
    }   
}

String dateString=mCreatedDateinfo;SimpleDataFormat dateFormat=新的SimpleDataFormat(“yyyy/mm/dd”);Date convertedDate=dateFormat.parse(日期字符串);long diff=convertedDate.getTime()–startDate.getTime()//以毫秒为单位,整数天=diff/(1000*60*60*24);如果createddateinfo已过期,请编辑您的帖子并添加上述代码。如果您有格式良好的问题,并展示您的尝试,我们很乐意提供帮助。
package com.me.mytime;

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

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;

public class MyTimeActivity extends Activity
{
    private static final String TAG = "MyTimeActivity";

    //Activity
    private Context context;

    /**
     * Called when the activity is first created
     */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        this.context = this;

        Calendar c1 = stringToCalendar("2012-03-20");
        Calendar c2 = stringToCalendar("2012-03-26");
        String elapsedDaysText = getElapsedDaysText(c1, c2);
    }

    public static Calendar stringToCalendar(String dateString)
    {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        try
        {
            date = formatter.parse(dateString);
            cal.setTime(date);
        }
        catch(ParseException e)
        {
            cal = null;
        }
        return cal;
    }   

    public String getElapsedDaysText(Calendar c1, Calendar c2)
    {
        long milliSeconds1 = c1.getTimeInMillis();
        long milliSeconds2 = c2.getTimeInMillis();
        long periodSeconds = (milliSeconds2 - milliSeconds1) / 1000;
        long elapsedDays = periodSeconds / 60 / 60 / 24;
        String elapsedDaysText = String.format("%d days ago", elapsedDays);
        return elapsedDaysText;
    }   
}