step_birthday_logic.dart 921 B

123456789101112131415161718192021222324252627282930313233
  1. import 'package:get/get.dart';
  2. import 'package:intl/intl.dart';
  3. import '../../../../resource/assets.gen.dart';
  4. import '../../../../utils/age_zodiac_sign_util.dart';
  5. mixin StepBirthdayLogic {
  6. final tag = "StepBirthdayLogic";
  7. DateTime initialDate = DateTime.now();
  8. // 最小日期
  9. var minimumDate = DateTime.parse("1921-01-01");
  10. //星座
  11. Rx<Zodiac> constellation = Rx<Zodiac>(AgeZodiacSignUtil.getZodiacSign(DateTime.now()));
  12. var age = 0.obs;
  13. final Rxn<DateTime> _currentBirthday = Rxn<DateTime>(null);
  14. DateTime? get currentBirthday => _currentBirthday.value;
  15. updateConstellation(DateTime date) {
  16. constellation.value = AgeZodiacSignUtil.getZodiacSign(date);
  17. age.value = AgeZodiacSignUtil.calculateAge(date);
  18. _currentBirthday.value = date;
  19. initialDate = date;
  20. print("星座:${constellation.value}");
  21. print("年龄:${age.value}");
  22. print("日期:${date}");
  23. }
  24. }