date_time_util.dart 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. Map<int, String> _months = {
  2. 1: "Jan",
  3. 2: "Feb",
  4. 3: "March",
  5. 4: "April",
  6. 5: "May",
  7. 6: "Jun",
  8. 7: "July",
  9. 8: "Aug",
  10. 9: "Sep",
  11. 10: "Oct",
  12. 11: "Nov",
  13. 12: "Dec",
  14. };
  15. Map<int, String> _days = {
  16. 1: "Mon",
  17. 2: "Tue",
  18. 3: "Wed",
  19. 4: "Thu",
  20. 5: "Fri",
  21. 6: "Sat",
  22. 7: "Sun",
  23. };
  24. String getMonthAndYear(DateTime dateTime) {
  25. return _months[dateTime.month] + " " + dateTime.year.toString();
  26. }
  27. String getDayAndMonth(DateTime dateTime) {
  28. return _days[dateTime.weekday] +
  29. ", " +
  30. _months[dateTime.month] +
  31. " " +
  32. dateTime.day.toString();
  33. }
  34. String getDay(DateTime dateTime) {
  35. return _days[dateTime.weekday];
  36. }
  37. String getMonth(DateTime dateTime) {
  38. return _months[dateTime.month];
  39. }
  40. String getTime(DateTime dateTime) {
  41. final hours = dateTime.hour > 9
  42. ? dateTime.hour.toString()
  43. : "0" + dateTime.hour.toString();
  44. final minutes = dateTime.minute > 9
  45. ? dateTime.minute.toString()
  46. : "0" + dateTime.minute.toString();
  47. return hours + ":" + minutes;
  48. }
  49. String getFormattedTime(DateTime dateTime) {
  50. return getDay(dateTime) +
  51. ", " +
  52. getMonth(dateTime) +
  53. " " +
  54. dateTime.day.toString() +
  55. ", " +
  56. dateTime.year.toString() +
  57. " - " +
  58. getTime(dateTime);
  59. }
  60. String getFormattedDate(DateTime dateTime) {
  61. return getDay(dateTime) +
  62. ", " +
  63. getMonth(dateTime) +
  64. " " +
  65. dateTime.day.toString() +
  66. ", " +
  67. dateTime.year.toString();
  68. }
  69. String formatDuration(Duration position) {
  70. final ms = position.inMilliseconds;
  71. int seconds = ms ~/ 1000;
  72. final int hours = seconds ~/ 3600;
  73. seconds = seconds % 3600;
  74. var minutes = seconds ~/ 60;
  75. seconds = seconds % 60;
  76. final hoursString = hours >= 10 ? '$hours' : hours == 0 ? '00' : '0$hours';
  77. final minutesString =
  78. minutes >= 10 ? '$minutes' : minutes == 0 ? '00' : '0$minutes';
  79. final secondsString =
  80. seconds >= 10 ? '$seconds' : seconds == 0 ? '00' : '0$seconds';
  81. final formattedTime =
  82. '${hoursString == '00' ? '' : hoursString + ':'}$minutesString:$secondsString';
  83. return formattedTime;
  84. }
  85. bool isLeapYear(DateTime dateTime) {
  86. final year = dateTime.year;
  87. if (year % 4 == 0) {
  88. if (year % 100 == 0) {
  89. if (year % 400 == 0) {
  90. return true;
  91. } else {
  92. return false;
  93. }
  94. } else {
  95. return true;
  96. }
  97. } else {
  98. return false;
  99. }
  100. }