迄今为止,Android昨天2天前就在今天这样写了 [英] Android in date write today yesterday 2 days ago like that

查看:47
本文介绍了迄今为止,Android昨天2天前就在今天这样写了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要像今天,昨天,2天前那样打印日期,因为我已经完成了 我得到的日期是:String date1 = "Thu Nov 13 19:01:25 GMT+05:30 2014";str=get_userTime(date1);

I need to print date like today,Yesterday,2 days ago like that for that i have done I am getting date like : String date1 = "Thu Nov 13 19:01:25 GMT+05:30 2014"; calling like str=get_userTime(date1);

private String get_userTime(String usertime) {
        Date d = null;

        // String datee = "Thu Nov 13 19:01:25 GMT+05:30 2014";
        String datee = usertime;
        SimpleDateFormat inputFormat = new SimpleDateFormat(
                "EE MMM dd HH:mm:ss zz yyy");

        try {
            d = inputFormat.parse(datee);
        } catch (java.text.ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        SimpleDateFormat outputFormat1 = new SimpleDateFormat("MM/dd/yyyy");
        System.out.println(outputFormat1.format(d));
         op = outputFormat1.format(d);
        op=formatToYesterdayOrToday(op);
        return op;

    }

这是昨天/今天获得的另一个功能,我已经使用了这个

and this is another function to get yesterday/today i have use this Link

public static String formatToYesterdayOrToday(String date) {
        date=op;
        DateTime dateTime = DateTimeFormat.forPattern("EEE hh:mma MMM d, yyyy")
                .parseDateTime(date);
        DateTime today = new DateTime();
        DateTime yesterday = today.minusDays(1);
        DateTimeFormatter timeFormatter = DateTimeFormat.forPattern("hh:mma");

        if (dateTime.toLocalDate().equals(today.toLocalDate())) {
            return "Today " + timeFormatter.print(dateTime);
        } else if (dateTime.toLocalDate().equals(yesterday.toLocalDate())) {
            return "Yesterday " + timeFormatter.print(dateTime);
        } else {
            return date;
        }
    }

但是出现错误:

11-21 13:12:10.626: E/AndroidRuntime(20654): java.lang.IllegalArgumentException: Invalid format: "11/21/2014"
11-21 13:12:10.626: E/AndroidRuntime(20654):    at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:871)

DateTime dateTime = DateTimeFormat.forPattern("EEE hh:mma MMM d, yyyy")
                .parseDateTime(date); //In (formatToYesterdayOrToday())

我用过Joda-time.jar

I have used Joda-time.jar

推荐答案

对于Android,您可以通过 Joda-Time-Android 库:

for Android you can use the most simple way with Joda-Time-Android library:

Date yourTime = new Date();
DateTime dateTime = new DateTime(yourTime); //or simple DateTime.now()
final String result = DateUtils.getRelativeTimeSpanString(getContext(), dateTime);

这篇关于迄今为止,Android昨天2天前就在今天这样写了的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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