This repository has been archived on 2024-10-18. You can view files and clone it, but cannot push or open issues or pull requests.
ftc_patient_app/lib/utilities/date_formatter.dart

109 lines
3.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class DateFormatter {
static final dateFormatter = DateFormat("dd-MM-yyyy");
static final dateFormatter2 = DateFormat("dd/MM/yyyy");
String todayTomorrowYesterday(DateTime dateToCheck) {
final now = DateTime.now();
final today = DateTime(now.year, now.month, now.day);
final yesterday = DateTime(now.year, now.month, now.day - 1);
final tomorrow = DateTime(now.year, now.month, now.day + 1);
final aDate =
DateTime(dateToCheck.year, dateToCheck.month, dateToCheck.day);
if (aDate == today) {
return 'Today';
} else if (aDate == yesterday) {
return 'Yesterday';
} else if (aDate == tomorrow) {
return 'Tomorrow';
} else {
return 'nothing';
}
}
// String getRotaHeadingDate(DateTime dateTime) {
// String wordDate = todayTomorrowYesterday(dateTime);
// String date = DateFormat("yMMMMd").format(dateTime);
// return wordDate != 'nothing'
// ? "$wordDate, ${date.split(" ").first.substring(0, 3)} ${dateTime.day}"
// : "${date.split(" ").first.substring(0, 3)} ${dateTime.day}";
// }
String getRotaDate(DateTime dateTime) {
//Nov 1, 5AM-0PM
String date = DateFormat("yMMMMd").format(dateTime);
return "${date.split(" ").first.substring(0, 3)} ${dateTime.day}, ${dateTime.hour}AM-${dateTime.minute}PM";
}
DateTime? time24to12formatDate({required String time}) {
try {
if (time.isEmpty) {
return null;
}
final f = DateFormat("HH:mm");
return f.parse(time);
} catch (e) {
debugPrint(e.toString());
return null;
}
}
TimeOfDay? time24to12format({required String time}) {
final dateTime = time24to12formatDate(time: time);
return (dateTime == null) ? null : TimeOfDay.fromDateTime(dateTime);
}
String roasterShiftFormattedTime({required String time}) {
final dateTime = time24to12formatDate(time: time);
return (dateTime == null) ? "" : DateFormat("hh:mm aa").format(dateTime);
}
String getRotaNewDate(
{required int shiftDate,
required String startShiftTime,
required String endShiftTime}) {
if (shiftDate == 0 || startShiftTime.isEmpty || endShiftTime.isEmpty) {
return "";
}
final f = DateFormat("HH:mm");
final sd = f.parse(startShiftTime);
final ed = f.parse(endShiftTime);
final date = DateTime.fromMillisecondsSinceEpoch(shiftDate);
return "${DateFormat("MMM dd").format(date)}, ${DateFormat("hha").format(sd)} - ${DateFormat("hha").format(ed)}";
}
String getAppointmentTime(DateTime dateTime) {
//Nov 1
String date = DateFormat("yMMMMd").format(dateTime);
return "${date.split(" ").first.substring(0, 3)} ${dateTime.day}";
}
String getHolidayDate(DateTime dateTime) {
//jan 2, 2024
String date = DateFormat("MMM dd, yyyy").format(dateTime);
return "${date.split(" ").first.substring(0, 3)} ${dateTime.day}, ${dateTime.year}";
}
String getFormattedDateFromUtc(String utcTime) {
try {
return DateFormat("yyyy-MM-dd")
.parse(utcTime, true)
.toLocal()
.toString()
.split(" ")
.first; //String 2024-02-22
} catch (e) {
return "";
}
}
static String ddMMyyyyhhmmFormat(DateTime date) {
return DateFormat("dd/MM/yyyy hh:mm aa").format(date);
}
}