timestampToDate function
String
timestampToDate(
{ - required dynamic timestamp,
- bool fullDateTime = false,
- String separator = '',
- bool militaryTime = true,
})
Implementation
String timestampToDate({
required dynamic timestamp,
bool fullDateTime = false,
String separator = '',
bool militaryTime = true,
}) {
if (tsUtDebug) {
logDebug(
'timestampToDate: $timestamp, fullDateTime: $fullDateTime, separator: $separator, militaryTime: $militaryTime',
);
}
double timestampUnixEpoch = double.parse(timestamp.toString()) * 1000;
DateTime date = DateTime.fromMillisecondsSinceEpoch(
timestampUnixEpoch.toInt(),
);
if (tsUtDebug) {
logDebug(
'timestampToDate | timestampUnixEpoch: $timestampUnixEpoch, date: $date',
);
}
int hours = date.hour;
int minutes = date.minute;
String ampm = hours >= 12 ? 'PM' : 'AM';
String formattedTime =
'${(hours == 0 ? 12 : (hours > 12 ? hours - 12 : hours)).toString()}'
':'
'${(minutes < 10 ? '0' : '')}'
'${minutes.toString()}'
' $ampm';
if (fullDateTime) {
if (separator.isNotEmpty) {
if (!militaryTime) {
return date.toIso8601String().split("T")[0] + separator + formattedTime;
}
return date.toIso8601String().split("T").join(separator).substring(0, 19);
}
if (!militaryTime) {
return '${date.toIso8601String().split("T")[0]}T$formattedTime';
}
return date.toIso8601String();
}
return date.toIso8601String().split("T")[0];
}