Java8で時間を計算してみる

問. 9時~17時で1時間休憩を挟みます。勤務時間は何時間でしょう?

LocalTime同士を加減算するのにどうしたらいいのか悩んでしまった。 LocalTimeからDurationへの変換が回りくどいです。Duration.parse("01:00")とか書けるといいんだけど。

VB.NETで書くと、こんな感じ。 こっちのほうがスマートかな。

まとめてアプリにしたものはこちら

tarchan/Java8sum · GitHub

f:id:tarchan:20140411002521p:plain

Java8でカレンダーを表示してみる

Java8公開されましたね。

Java8になって日付APIが追加されたので、どんな感じで使えるのかカレンダー表示アプリを作ってみました。 ソースコードgithubにあります。

tarchan/Java8cal · GitHub

f:id:tarchan:20140409093730p:plain

いままではjava.util.Dateとjava.util.Calendarで常に日付と時間がセットになっていましたが、新しいAPIは、java.time.LocalDateとjava.time.LocalTimeで日付と時間にゲンミツに分かれています。

カレンダーアプリを作るにあたっては、「年/月」を表示するラベルがあって月毎に移動できるようにしたのですが、java.time.YearMonthなんていうクラスまであります。LocalDateが年月日なのに対してYearMonthは年月だけなんですね。こんな感じで使えます。

java.time.chrono.JapaneseDateはYearMonthから直接は変換できません。日を指定してLocalDateに変換してからの変換になります。平成は1989-01-08から現在まで等とゲンミツに表現されるからなんですね。

PS Storeのバージョンを元に戻して欲しい

PS3のオンラインストアでセガのゲームが安く買えると聞いて入ってみました。

ところがカートに目当てのゲームを入れて購入ボタンをおしても「エラーです」と表示されるばかりで購入できません。 PS Storeは今年のはじめにリニューアルがあったのですが、それ以来更新されてないんですかね? トルネは軽快が使い勝手が受けてますが、PS Storeは駄目だ。 画面も15フレくらいのコマ落ちで「エラーです」の原因を探る気も起きません。 ゲームは欲しいけど買えないまま夏が終わりそうです。