FlutterでTimeOfDayを文字列に変換する方法


  1. デフォルトのフォーマットを使用する方法: TimeOfDayオブジェクトのtoString()メソッドを使用すると、デフォルトのフォーマットで文字列に変換することができます。ただし、この方法では「TimeOfDay(hour: 10, minute: 30)」のような形式で文字列が生成されます。
TimeOfDay time = TimeOfDay(hour: 10, minute: 30);
String timeString = time.toString(); // 結果: "TimeOfDay(hour: 10, minute: 30)"
  1. 自分でフォーマットを作成する方法: intlパッケージを使用すると、自分でフォーマットを作成してTimeOfDayオブジェクトを文字列に変換することができます。
import 'package:intl/intl.dart';
TimeOfDay time = TimeOfDay(hour: 10, minute: 30);
String timeString = DateFormat.Hm().format(DateTime(2021, 1, 1, time.hour, time.minute)); // 結果: "10:30"

上記の例では、intlパッケージのDateFormatクラスを使用して、指定したフォーマット(ここではHm)で時刻を表示しています。

これらはいくつかの基本的な方法ですが、さまざまな要件に応じてカスタマイズすることもできます。詳細なフォーマットオプションについては、intlパッケージのドキュメントを参照してください。