Files
GitJournal/lib/datetime_utils.dart
Vishesh Handa 075d353447 Write the date time in iso8601 + timezone
This is not perfect as when parsing the datetime, we're ignoring the
timezone.
2019-01-15 15:10:43 +01:00

29 lines
663 B
Dart

import 'package:intl/intl.dart';
String toIso8601WithTimezone(DateTime dt) {
var result = DateFormat("y-M-dTH:m:s").format(dt);
var offset = dt.timeZoneOffset;
if (offset.inSeconds == 0) {
return result + 'Z';
} else {
int minutes = (offset.inMinutes % 60);
int hours = offset.inHours.toInt();
String minutesStr;
if (minutes < 10) {
minutesStr = '0' + minutes.toString();
} else {
minutesStr = minutes.toString();
}
String hourStr;
if (hours < 10) {
hourStr = '0' + hours.toString();
} else {
hourStr = hours.toString();
}
return result + '+' + hourStr + ':' + minutesStr;
}
}