如何进行日期转换

时间:2016-09-26 12:13:42

标签: android date character-encoding date-format

如何将getId() { return id } getFormattedId() { return objectType + "/" + id; } 转换为date。我曾经将日期转换为字符串。 但我得到CharSequence

Exception

如何正确转换?我的远程服务器返回日期格式:CharSequence timeAgo = DateUtils.getRelativeTimeSpanString( Long.parseLong(newsData.getNewsDateCreated()), System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS); - 我不想让它出现。从日期开始我需要把它转换成时间吗?

输出应该像这样给我:

date

6 个答案:

答案 0 :(得分:1)

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

Date convertedDate = new Date();
Date currentDate = new Date();
try{
convertedDate = dateFormat.parse(newsData.getNewsDateCreated());
}
            catch (ParseException e)
            {
                e.printStackTrace();
            }

    public long getDifference(Date startDate, Date endDate){

        //milliseconds
        long different = endDate.getTime() - startDate.getTime();

        long secondsInMilli = 1000;
        long minutesInMilli = secondsInMilli * 60;
        long hoursInMilli = minutesInMilli * 60;
        long daysInMilli = hoursInMilli * 24;

        return elapsedHours = different / hoursInMilli;

    }

这应该可以胜任。在任何需要的地方使用getDifference(convertedDate,currentDate)并相应地使用小时/小时。

答案 1 :(得分:1)

如果您的格式显示为“00:00:00T2016-08-24”    拆分格式并采取您想要的任何一种。    你有一个选择。

在我的情况下,我想只显示我这样做的日期,​​但我的格式是这样的 “2016-08-24T00:00:00”

holder.tYorDate.setText(list.get(位置).getDate()分割( “T”)[0]);

我希望这会有所帮助。

答案 2 :(得分:0)

使用此

String uDate = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy").format(new Date());

这里新的Date()是当前日期

答案 3 :(得分:0)

String resultDate = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy").format(new Date());

答案 4 :(得分:0)

首先,我们需要将特定格式转换为日期对象

例如

String yourdate = "Tue Apr 23 16:08:28 GMT+05:30 2013";
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
Date mDate = dateFormat.parse(yourdate);

这里我准备了一个函数,它可以帮助你将日期转换为字符

 public static String getTimeDifference(long mActual){

    long mCurrent=0;
    int diffInDays=0;

        mCurrent = System.currentTimeMillis();

        if (mCurrent == 0 || mActual == 0)
            return "";

        long diff = mCurrent - mActual;

        diffInDays = (int) (diff / (1000 * 60 * 60 * 24));

    if (diffInDays > 0) {

            return diffInDays + "days ago";

        } else {

            int diffHours = (int) (diff / (60 * 60 * 1000));
            if (diffHours > 0) {
                return diffHours + "hours ago";
            } else {

                int diffMinutes = (int) ((diff / (60 * 1000) % 60));
                if(diffMinutes == 0)
                    return "Just Now";
                return diffMinutes + "minutes ago";
            }
        }

}

所以,你走了:

getTimeDifference(mDate.getTime);

答案 5 :(得分:0)

您可以使用以下代码

String str_date = "2014-11-26";

SimpleDateFormat readFormat = new SimpleDateFormat("yyyy-mm-dd");
SimpleDateFormat writeFormat = new SimpleDateFormat("MMM dd,yyyy");

java.util.Date date;

date = readFormat.parse(str_date);

并且对于您想要的日期格式,您也可以参考此链接 SimpleDateFormat