如何更改DateFormat?在Android上

时间:2016-09-26 03:55:55

标签: android date

这是django休息api的UTC时间。

例如

2016-09-26T02:58:26.154543Z

2016-09-25T08:40:41.891129Z

2016-09-24T13:25:16.397189Z

它来自"created_date": "2016-09-24T13:25:16.397189Z"

我希望将它用于此代码

    public String beforeTime(Date date){

        long now = System.currentTimeMillis();
        long dateM = date.getTime();

        long gap = now - dateM;

        String ret = "";

//        sec     min hour
//        1000    60  60
        gap = (long)(gap/1000);
        long hour = gap/3600;
        gap = gap%3600;
        long min = gap/60;
        long sec = gap%60;

        if(hour > 24){
            ret = new SimpleDateFormat("HH:mm").format(date);
        }
        else if(hour > 0){
            ret = hour+"hours ago";
        }
        else if(min > 0){
            ret = min+"mins ago";
        }
        else if(sec > 0){
            ret = sec+"secs ago";
        }
        else{
            ret = new SimpleDateFormat("HH:mm").format(date);
        }
        return ret;

    } 

所以我制作了一个代码,它的参数为beforeTime

 String stringDate = "2016-09-26T03:02:37.477821Z"; #this is example
 java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(
        "yyyy-MM-dd'T'HH:mm:ss.~~"); # i don't know this part
 java.util.Date dateToUse = format.parse(stringDate);

问题:请问如何设置该格式? " yyyy.MM.dd ~~"这个,帮帮我

2 个答案:

答案 0 :(得分:2)

import numpy as np a = np.array([1,2,3,0,4,5,0]) b = np.array([1,2,3,4,0,5,6]) arrays = [a, b] vals = [] for array in arrays: ix = np.where(array == 0) vals.extend([y for x in ix for y in x.tolist()]) vals = list(set(vals)) new_array = [] for array in arrays: new_array.append(np.delete(array, vals))

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'");是毫秒

答案 1 :(得分:1)

尝试以下代码,它会为您提供所需的代码......

try {
                        String stringDate = "2016-09-26T03:02:37.477821Z";
                        try {
                            Date simple_edate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
                                    Locale.ENGLISH).parse(stringDate);
                            SimpleDateFormat newFormat = new SimpleDateFormat("yyyy.MM.dd",
                                    Locale.ENGLISH);
                            String newdate = newFormat.format(simple_edate);
                            Log.e("date", "= "+ newdate.toString());

                        } catch (Exception e) {
                            Log.e("error", e.toString());
                        }

                    }catch (Exception e){
                        e.printStackTrace();
                    }

一旦它适合你,请告诉我。