date_time_util.dart 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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 getDateAndMonthAndYear(DateTime dateTime) {
  49. return dateTime.day.toString() +
  50. " " +
  51. _months[dateTime.month] +
  52. ", " +
  53. dateTime.year.toString();
  54. }
  55. String getDay(DateTime dateTime) {
  56. return _days[dateTime.weekday];
  57. }
  58. String getMonth(DateTime dateTime) {
  59. return _months[dateTime.month];
  60. }
  61. String getFullMonth(DateTime dateTime) {
  62. return _fullMonths[dateTime.month];
  63. }
  64. String getTime(DateTime dateTime) {
  65. final hours = dateTime.hour > 9
  66. ? dateTime.hour.toString()
  67. : "0" + dateTime.hour.toString();
  68. final minutes = dateTime.minute > 9
  69. ? dateTime.minute.toString()
  70. : "0" + dateTime.minute.toString();
  71. return hours + ":" + minutes;
  72. }
  73. String getFormattedTime(DateTime dateTime) {
  74. return getDay(dateTime) +
  75. ", " +
  76. getMonth(dateTime) +
  77. " " +
  78. dateTime.day.toString() +
  79. ", " +
  80. dateTime.year.toString() +
  81. " - " +
  82. getTime(dateTime);
  83. }
  84. String getFormattedDate(DateTime dateTime) {
  85. return getDay(dateTime) +
  86. ", " +
  87. getMonth(dateTime) +
  88. " " +
  89. dateTime.day.toString() +
  90. ", " +
  91. dateTime.year.toString();
  92. }
  93. String formatDuration(Duration position) {
  94. final ms = position.inMilliseconds;
  95. int seconds = ms ~/ 1000;
  96. final int hours = seconds ~/ 3600;
  97. seconds = seconds % 3600;
  98. var minutes = seconds ~/ 60;
  99. seconds = seconds % 60;
  100. final hoursString = hours >= 10
  101. ? '$hours'
  102. : hours == 0
  103. ? '00'
  104. : '0$hours';
  105. final minutesString = minutes >= 10
  106. ? '$minutes'
  107. : minutes == 0
  108. ? '00'
  109. : '0$minutes';
  110. final secondsString = seconds >= 10
  111. ? '$seconds'
  112. : seconds == 0
  113. ? '00'
  114. : '0$seconds';
  115. final formattedTime =
  116. '${hoursString == '00' ? '' : hoursString + ':'}$minutesString:$secondsString';
  117. return formattedTime;
  118. }
  119. bool isLeapYear(DateTime dateTime) {
  120. final year = dateTime.year;
  121. if (year % 4 == 0) {
  122. if (year % 100 == 0) {
  123. if (year % 400 == 0) {
  124. return true;
  125. } else {
  126. return false;
  127. }
  128. } else {
  129. return true;
  130. }
  131. } else {
  132. return false;
  133. }
  134. }