1

文字列形式の dd/mm/yyyy の日付があるかどうかを尋ねたいのですが、それを int 年、int 月、int 日に分割したいのですが、どうすればよいですか。

それ以外は、文字列の日付 (dd/mm/yyyy) が SQLite に格納されます。

4

7 に答える 7

7

あなたもこのように分割します

String date="dd/mm/yyyy";
String[] items1 = date.split("/");
String date1=items1[0];
String month=items1[1];
String year=items1[2];
于 2013-05-15T10:50:16.367 に答える
1
public static void main(String[] args) {

        String startDateString = "01/26/2013";
        DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
        Date startDate=null;
        String newDateString = null;
        try 
        {
            startDate = df.parse(startDateString);
            System.out.println("month===>>>"+(startDate.getMonth()+1));
            System.out.println("date===>>>"+startDate.getDate());
            System.out.println("year===>>>"+(startDate.getYear()+1900));

        } catch (Exception e)//(ParseException e) 
        {
            e.printStackTrace();
        }
    }
于 2013-05-15T10:52:45.550 に答える
0

デーツはとてもデリケートです。通常、日付は位置 (タイムゾーン) に関連している必要があります。

Java が提供する Date や Calendar などのクラスを TimeZone と一緒に使用して、文字列を実際の日付オブジェクトに正しく解釈するか、その日付の位置をまったく気にしない場合は、 String.split() を使用して取得できます配列の場合、正しい形式を確認し、各部分で Interger.valueOf を呼び出します。

于 2013-05-15T10:56:38.957 に答える
0

「/」を使用して文字列を分割する

String s= "15/5/2013";
String arr[] =s.split("/");
System.out.println("Date = "+arr[0]);
System.out.println("Month = "+arr[1]);
System.out.println("Year = "+arr[2]);

出力

Date = 15
Month = 5
Year = 2013
于 2013-05-15T11:02:29.703 に答える
0

文字列オブジェクトの Split メソッドを使用し、結果の文字列を int にキャストします。

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)

可能であれば、Calendar.getTimeInMilliseconds から取得した長い日付値を保存すると、日付の処理が簡単になります。

ロケールに関係なく日付を文字列として保存すると、後でエラーが発生します。

于 2013-05-15T10:47:12.220 に答える
0
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 

 Date d = df.parse("String date (dd/mm/yyyy) is stored in the SQLite");

 int month = d.getMonth();

 int day= d.getDay();

 int year = d.getYear();
于 2013-05-15T10:47:48.463 に答える