date_time_util.dart 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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> _fullMonths = {
  16. 1: "January",
  17. 2: "February",
  18. 3: "March",
  19. 4: "April",
  20. 5: "May",
  21. 6: "June",
  22. 7: "July",
  23. 8: "August",
  24. 9: "September",
  25. 10: "October",
  26. 11: "November",
  27. 12: "December",
  28. };
  29. Map<int, String> _days = {
  30. 1: "Mon",
  31. 2: "Tue",
  32. 3: "Wed",
  33. 4: "Thu",
  34. 5: "Fri",
  35. 6: "Sat",
  36. 7: "Sun",
  37. };
  38. String getMonthAndYear(DateTime dateTime) {
  39. return _months[dateTime.month] + " " + dateTime.year.toString();
  40. }
  41. String getDayAndMonth(DateTime dateTime) {
  42. return _days[dateTime.weekday] +
  43. ", " +
  44. dateTime.day.toString() +
  45. " " +
  46. _months[dateTime.month];
  47. }
  48. String getDay(DateTime dateTime) {
  49. return _days[dateTime.weekday];
  50. }
  51. String getMonth(DateTime dateTime) {
  52. return _months[dateTime.month];
  53. }
  54. String getFullMonth(DateTime dateTime) {
  55. return _fullMonths[dateTime.month];
  56. }
  57. String getTime(DateTime dateTime) {
  58. final hours = dateTime.hour > 9
  59. ? dateTime.hour.toString()
  60. : "0" + dateTime.hour.toString();
  61. final minutes = dateTime.minute > 9
  62. ? dateTime.minute.toString()
  63. : "0" + dateTime.minute.toString();
  64. return hours + ":" + minutes;
  65. }
  66. String getFormattedTime(DateTime dateTime) {
  67. return getDay(dateTime) +
  68. ", " +
  69. getMonth(dateTime) +
  70. " " +
  71. dateTime.day.toString() +
  72. ", " +
  73. dateTime.year.toString() +
  74. " - " +
  75. getTime(dateTime);
  76. }
  77. String getFormattedDate(DateTime dateTime) {
  78. return getDay(dateTime) +
  79. ", " +
  80. getMonth(dateTime) +
  81. " " +
  82. dateTime.day.toString() +
  83. ", " +
  84. dateTime.year.toString();
  85. }
  86. String formatDuration(Duration position) {
  87. final ms = position.inMilliseconds;
  88. int seconds = ms ~/ 1000;
  89. final int hours = seconds ~/ 3600;
  90. seconds = seconds % 3600;
  91. var minutes = seconds ~/ 60;
  92. seconds = seconds % 60;
  93. final hoursString = hours >= 10
  94. ? '$hours'
  95. : hours == 0
  96. ? '00'
  97. : '0$hours';
  98. final minutesString = minutes >= 10
  99. ? '$minutes'
  100. : minutes == 0
  101. ? '00'
  102. : '0$minutes';
  103. final secondsString = seconds >= 10
  104. ? '$seconds'
  105. : seconds == 0
  106. ? '00'
  107. : '0$seconds';
  108. final formattedTime =
  109. '${hoursString == '00' ? '' : hoursString + ':'}$minutesString:$secondsString';
  110. return formattedTime;
  111. }
  112. bool isLeapYear(DateTime dateTime) {
  113. final year = dateTime.year;
  114. if (year % 4 == 0) {
  115. if (year % 100 == 0) {
  116. if (year % 400 == 0) {
  117. return true;
  118. } else {
  119. return false;
  120. }
  121. } else {
  122. return true;
  123. }
  124. } else {
  125. return false;
  126. }
  127. }