8

人のカレンダーのイベントに関する情報をダウンロードするReSTサービスがあります...

日付と時刻を返すときは、文字列として返します

例: 日付 = "2012 年 12 月 8 日" & 時刻 = "午前 11:25"

これを Android カレンダーに入れるには、次のことを行う必要があります。

Calendar beginTime = Calendar.getInstance();
beginTime.set(year, month, day, hour, min);
startMillis = beginTime.getTimeInMillis();
intent.put(Events.DTSTART, startMillis);

「beginTime.set()」メソッドで使用できるように、日付と時刻の変数を分割するにはどうすればよいですか?

4

7 に答える 7

9

I don't thinks you really need how to split the string, in your case it should be 'how to get time in milliseconds from date string', here is an example:

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

public class DateTest {

    public static void main(String[] args) {
        String date = "12/8/2012";
        String time = "11:25 am";
        DateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
        try {
            Date dt = df.parse(date + " " + time);
            Calendar ca = Calendar.getInstance();
            ca.setTime(dt);
            System.out.println(ca.getTimeInMillis());
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}
于 2013-08-07T09:30:11.687 に答える
4

これを試して:

String date = "12/8/2012";
String time = "11:25 am";

String[] date1 = date.split("/");
String[] time1 = time.split(":");
String[] time2 = time1[1].split(" ");  // to remove am/pm

Calendar beginTime = Calendar.getInstance();
beginTime.set(Integer.parseInt(date1[2]), Integer.parseInt(date1[1]), Integer.parseInt(date1[0]), Integer.parseInt(time1[0]), Integer.parseInt(time2[0]));
startMillis = beginTime.getTimeInMillis();
intent.put(Events.DTSTART, startMillis);

お役に立てれば。

于 2013-08-07T09:17:14.440 に答える
2

日付を文字列形式で取得すると仮定すると(そうでない場合は変換してください!)、次のようになります。

String date = "12/8/2012";
String[] dateParts = date.split("/");
String day = dateParts[0]; 
String month = dateParts[1]; 

同様に、時間を分割することもできます!

于 2013-08-07T09:17:11.193 に答える
0

使用しますSimpleDateFormat(APIドキュメントを確認してください)。適切な時間パターンを指定すると、文字列を即座に日付に変換できます。

于 2013-08-07T09:18:44.960 に答える
0

ここで分割方法の例を見ることができます: How to split a string in Java

次に、パラメーターに配列を使用するだけです。たとえば、年には配列[0]などを使用します。

于 2013-08-07T09:16:41.887 に答える