ConvertUtils.dart 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import 'dart:math';
  2. import 'package:flutter_habit/common/I18N.dart';
  3. class ConvertUtils {
  4. static int offset = DateTime.now().timeZoneOffset.inMilliseconds;
  5. static String packString(Object? s) {
  6. return s == null ? I18N.of("无数据") : s.toString();
  7. }
  8. static String md5Encode(String s) {
  9. // return md5.convert(Utf8Encoder().convert("ha${s}bit")).toString();
  10. return "";
  11. }
  12. static double localDaysSinceEpoch(DateTime dateTime) {
  13. return (dateTime.millisecondsSinceEpoch + offset) / 86400000;
  14. }
  15. static DateTime dateTimeOfLocalDaysSinceEpoch(double daysSinceEpoch) {
  16. return DateTime.fromMillisecondsSinceEpoch(
  17. (daysSinceEpoch * 86400000).round() - offset);
  18. }
  19. static DateTime dateOfDateTime(DateTime dateTime) {
  20. return DateTime(dateTime.year, dateTime.month, dateTime.day);
  21. }
  22. static String timeFormMillisecondsSinceEpoch(int millisecondsSinceEpoch) {
  23. return DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch)
  24. .toString()
  25. .substring(11, 16);
  26. }
  27. static double hourFormMilliseconds(int milliseconds) {
  28. return milliseconds / 1000 / 60 / 60;
  29. }
  30. static double hourFormMillisecondsSinceEpoch(int millisecondsSinceEpoch) {
  31. DateTime time = DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch);
  32. return Duration(
  33. hours: time.hour, minutes: time.minute, seconds: time.second)
  34. .inMilliseconds /
  35. 1000 /
  36. 60 /
  37. 60;
  38. }
  39. static double fixedDouble(double value, int fix) {
  40. int fixNum = pow(10, fix) as int;
  41. return (value * fixNum).round() / fixNum;
  42. }
  43. }