61 lines
1.3 KiB
Dart
61 lines
1.3 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:intl/intl.dart';
|
|
import 'package:timezone/timezone.dart' as tz;
|
|
import 'package:timezone/data/latest.dart' as tz;
|
|
|
|
String formatDate({String format = "", String? dateISO}) {
|
|
final DateFormat dateFormatter = DateFormat(format);
|
|
final date = dateISO!.isEmpty ? DateTime.now() : DateTime.parse(dateISO);
|
|
return dateFormatter.format(date);
|
|
}
|
|
|
|
String hourString(int e) {
|
|
try {
|
|
tz.getLocation('America/Los_Angeles');
|
|
} catch (e) {
|
|
tz.initializeTimeZones();
|
|
}
|
|
|
|
int pacificTime = tz.TZDateTime.now(tz.getLocation('America/Los_Angeles'))
|
|
.timeZoneOffset
|
|
.inHours;
|
|
int localTime = DateTime.now().timeZoneOffset.inHours;
|
|
|
|
e = e + localTime - pacificTime;
|
|
|
|
var meridien = "AM";
|
|
var hour = 12;
|
|
|
|
if (e > 24) {
|
|
hour = e - 24;
|
|
} else if (e > 12) {
|
|
hour = e - 12;
|
|
} else if (e > 0) {
|
|
hour = e;
|
|
}
|
|
if (e > 11 && e < 24) {
|
|
meridien = "PM";
|
|
}
|
|
return "${hour.toString()} $meridien";
|
|
}
|
|
|
|
Color moodColor(mood) {
|
|
if (mood == null) {
|
|
return Colors.transparent;
|
|
}
|
|
if (mood >= 8) {
|
|
return Colors.green;
|
|
}
|
|
if (mood > 5) {
|
|
return Colors.blue;
|
|
}
|
|
if (mood == 5) {
|
|
return Colors.yellow;
|
|
}
|
|
if (mood >= 3) {
|
|
return Colors.amber;
|
|
} else {
|
|
return Colors.red;
|
|
}
|
|
}
|