日付を扱うベーシックな方法
Androidで日付を扱いたい・・、でもどうしたらいいかわからない方に。
AndroidはJava言語なのでJavaでいろいろと調べてみました。
まず、以下のことをやりたいと思います。
Lesson1 . 今日の日付を取得、任意のフォーマットで出力したい
1 2 3 |
Date today = new Date(); SimpleDateFormat rule = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String todayString = rule.format(today); |
SimpleDateFormatクラスの引数を自由に変えれば任意フォーマットでの出力が可能です。
次に、以下のケースを想定したいと思います。
Lesson2 . DBに登録された日付を取得して任意のフォーマットで表示したい
さっきと似ていますが、コードは以下となります。
1 2 3 4 5 6 7 8 |
String dateFromDb = "2017-12-12 11:59:55";//Databaseから取得した日付文字列 SimpleDateFormat ruleFromDatabase = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//Databaseの格納フォーマットを指定 SimpleDateFormat ruleForOutPut = new SimpleDateFormat("yyyy/MM/dd");//出力フォーマット Date date = ruleFromDatabase.parse(dateFromDb)//取得した日付をDate型に変換 String dateString = ruleForOutPut.format(date);//任意フォーマットでの文字列に変換 |
注意点としては取得する日付文字列のフォーマットを指定しないと、いけない箇所。
では次。
Lesson3 .前月を取得したい。
1 2 3 4 5 6 7 8 9 |
Calendar calendar = Calendar.getInstance(); Date date = new Date(); calendar.setTime(new Date()); calendar.add(Calendar.MONTH, -1); date = calendar.getTime(); SimpleDateFormat rule = new SimpleDateFormat("yyyy/MM"); String month = rule.format(date); |
ここでカレンダークラスが出てきました。
カレンダーで調整したオブジェクトをDate型にしてあげるという流れです。
関連記事
関連記事はありませんでした