1

私はこのタイプの日付を文字列形式で持っています01-18-2013 06:43:35今、私はこの日付を現在の日付と時刻と比較して、日、月、時間、分、..このリンクを検索しましたが、しませんでした「解決策がありません...いくつかの解決策を共有してください..ありがとう..

4

4 に答える 4

1

Date私があなたの質問を受け取ったら、オブジェクトを現在の日付と比較したいと思います..

「日付」が現在の日付と比較したいオブジェクトであるとしましょう: Android docのように 、または提案されてDateいるようにしてみませんか?date.after(new Date())date.before(new Date())

于 2013-03-21T10:52:21.893 に答える
1

でUTCを取得できます

new SimpleDateFormat("MM-dd-yyyy HH:mm:ss").parse("01-18-2013 06:43:35").getTime();

次に、結果を比較します

System.currentTimeMillis();
于 2013-03-21T10:56:53.797 に答える
1

これは役立つかもしれません、 http://developer.android.com/reference/java/text/DateFormat.html

を使用して文字列から日付を解析できます

DateFormat df = DateFormat.getDateInstance();
myDate = df.parse(myString);
于 2013-03-21T10:50:51.207 に答える
1

これは、ミリ秒単位で異なる日時を計算するのに役立つ場合があります

try{
            Calendar calender = Calendar.getInstance();
            Calendar calDb = Calendar.getInstance();
            Calendar matchd = Calendar.getInstance();

            mYear = calender.get(Calendar.YEAR);
            mMonth = calender.get(Calendar.MONTH);
            mDay = calender.get(Calendar.DAY_OF_MONTH);

            mendYear = calDb.get(Calendar.YEAR);
            mendMonth = calDb.get(Calendar.MONTH);
            mendDay = calDb.get(Calendar.DAY_OF_MONTH);    
                       // Here you can change day values        
                    calDb.set(Calendar.DAY_OF_MONTH, mDay-1);

            strbeforedate = mDateFormat.format(calDb.getTime());
            curentdate = mDateFormat.format(calender.getTime());

            calDb.setTime(mDateFormat.parse(strbeforedate));
            calender.setTime(mDateFormat.parse(curentdate));



            String mydate = "2013.03.14 03:11";
            String mdatetime = "";

            deletepath =  new ArrayList<String>();          
            for(int i=0;i<result.length;i++){

                try{
                    // here your matching goes and pass date here 

                     matchd.setTime(mDateFormat.parse(mdatetime));
                     long diff = calDb.getTimeInMillis() - calender.getTimeInMillis();
                     long matchdiff = matchd.getTimeInMillis() - calender.getTimeInMillis();
                        if(diff < matchdiff){

                                     // do your work here
                        }else{

                         // do your else work here

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


        }

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

    }
于 2013-03-21T11:33:08.727 に答える