Files
buzz/mobile/lib/features/channels/read_state/read_state_time.dart

26 lines
614 B
Dart

const _millisecondsPerSecond = 1000;
int? dateTimeToUnixSeconds(DateTime? value) {
if (value == null) return null;
return value.millisecondsSinceEpoch ~/ _millisecondsPerSecond;
}
int currentUnixSeconds() => dateTimeToUnixSeconds(DateTime.now())!;
DateTime unixSecondsToDateTime(int value) {
return DateTime.fromMillisecondsSinceEpoch(
value * _millisecondsPerSecond,
isUtc: true,
);
}
int? isoToUnixSeconds(Object? value) {
if (value is! String || value.isEmpty) {
return null;
}
return dateTimeToUnixSeconds(DateTime.tryParse(value));
}
const readStateMaxClockDriftSeconds = 300;