iso8601_offset 1.2.0 copy "iso8601_offset: ^1.2.0" to clipboard
iso8601_offset: ^1.2.0 copied to clipboard

Provide a string containing offset information that is not processed by `DateTime.toIso8601String()`.

pub package analyze

iso8601_offset #

Features #

Provide a string containing offset information that is not processed by DateTime.toIso8601String().

Usage #

import 'package:iso8601_offset/iso8601_offset.dart';

// When running on a terminal at JST(+09:00).
// 2021-11-25 03:00:00 UTC time, 2021-11-25 12:00:00 terminal time
final dateTime = DateTime(2021, 11, 25, 12, 0, 0);

print(dateTime.toIso8601String()); // 2021-11-25T12:00:00.000
print(dateTime.toIso8601UtcString()); // 2021-11-25T03:00:00.000Z
print(dateTime.toIso8601OffsetString()); // 2021-11-25T12:00:00.000+09:00

If you want to encode/decode JSON considering offset, please use @DateTimeConverter and @DateTimeOrNullConverter.

import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:iso8601_offset/iso8601_offset.dart';

part 'sample_json.freezed.dart';
part 'sample_json.g.dart';

@freezed
abstract class SampleJson with _$SampleJson {
  const factory SampleJson({
    @DateTimeConverter() required DateTime dateTime,
    @DateTimeOrNullConverter() required DateTime? dateTimeNull,
  }) = _SampleJson;

  factory SampleJson.fromJson(Map<String, dynamic> json) =>
      _$SampleJsonFromJson(json);
}

See example for a runnable version.

0
likes
160
points
1.11k
downloads

Documentation

API reference

Publisher

verified publisherkoji-1009.com

Weekly Downloads

Provide a string containing offset information that is not processed by `DateTime.toIso8601String()`.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

json_annotation

More

Packages that depend on iso8601_offset