19

私は文字列を持っています。「16:00」としましょう。それを TimeOfDay タイプに変換したいと思います。ドキュメントを確認したところ、DateTime から TimeOfDay へのコンバータしか提供されていませんが、String から TimeOfDay に変換する方法が見つかりません。

4

9 に答える 9

4

次のようなことができます。

TimeOfDay time = TimeOfDay(hour: s.split(":")[0], minute: s.split(":")[1]);

s変換したい文字列です。

于 2018-11-20T06:49:33.350 に答える
0

更新されたソリューション 2020 年 8 月 26 日

function標準の日付のString表示方法 (例: 7:04 AM) からに変換するa を書きましたTimeOfDay

TimeOfDay timeConvert(String normTime) {
    int hour;
    int minute;
    String ampm = normTime.substring(normTime.length - 2);
    String result = normTime.substring(0, normTime.indexOf(' '));
    if (ampm == 'AM' && int.parse(result.split(":")[1]) != 12) {
      hour = int.parse(result.split(':')[0]);
      if (hour == 12) hour = 0;
      minute = int.parse(result.split(":")[1]);
    } else {
      hour = int.parse(result.split(':')[0]) - 12;
      if (hour <= 0) {
        hour = 24 + hour;
      }
      minute = int.parse(result.split(":")[1]);
    }
    return TimeOfDay(hour: hour, minute: minute);
  }

通常の時間 (例: 12:14 PM) を渡すだけで、正しい時刻と午前/午後の TimeOfDay が返されます。

これが誰かに役立つことを願っています!

于 2020-08-27T03:09:54.467 に答える
0

午前/午後に対応

TimeOfDay _time = TimeOfDay(hour:int.parse(string.split(":")[0]),minute: int.parse(string.split(":")[1].split(" ")[0]));
于 2020-08-31T08:57:50.957 に答える