[Dart] Dartでパースしてくれない日付について
DartのDateTime.parseでは、
"2014-04-01T01:02:03+09:00"
の文字列をなぜか解析してくれない。
これってRFC3339でもISO8601でも定義されていると思うんだがー。
ホントにトホホだよ!
というわけでDateFormatを使用した回避方法。
まず、intlパッケージをインストール
pubspec.yamlのdependenciesに「intl:any」を追記する。
続いてソース。
var t = df.parse("2010-10-12T13:20:30+09:00");
print(t)
print(t.toUtc())
これで出力内容は、
"2014-04-01T01:02:03+09:00"
の文字列をなぜか解析してくれない。
これってRFC3339でもISO8601でも定義されていると思うんだがー。
ホントにトホホだよ!
というわけでDateFormatを使用した回避方法。
まず、intlパッケージをインストール
pubspec.yamlのdependenciesに「intl:any」を追記する。
dependencies:
intl: any
続いてソース。
import 'package:intl/intl.dart';
…
var df = new DateFormat("y-M-dTH:m:sZ");var t = df.parse("2010-10-12T13:20:30+09:00");
print(t)
print(t.toUtc())
2010-10-12 13:20:30.000
2010-10-12 04:20:30.000Z
となる。
面倒すなぁ。
コメント
コメントを投稿