FhirDateTime.fromDateTime constructor
FhirDateTime.fromDateTime(
- DateTime dateTime, [
- DateTimePrecision precision = DateTimePrecision.FULL
Implementation
factory FhirDateTime.fromDateTime(DateTime dateTime,
[DateTimePrecision precision = DateTimePrecision.FULL]) {
final String dateTimeString = dateTime.toIso8601String();
final int len = <int>[4, 7, 10, dateTimeString.length][precision.index];
if (dateTime.isUtc || precision != DateTimePrecision.FULL) {
return FhirDateTime._(
dateTimeString.substring(0, len), dateTime, true, precision, null);
} else {
return FhirDateTime._(
'$dateTimeString${dateTime.timeZoneOffset.isNegative ? '-' : '+'}'
'${(dateTime.timeZoneOffset.abs().inMinutes / 60).round().toString().padLeft(2, "0")}:'
'${(dateTime.timeZoneOffset.inMinutes % 60).toString().padLeft(2, "0")}',
dateTime,
true,
precision,
null);
}
}