반응형
질문
저는 현재 사용자 프로필 페이지를 가지고 있습니다. 그 페이지에서는 사용자의 생년월일과 기타 세부 정보를 보여줍니다. 그러나 저는 사용자로부터 얻은 생년월일과 오늘의 날짜 간의 차이를 계산하여 생일 전 날을 찾을 계획입니다.
사용자의 생년월일
그리고 이것은 intl 패키지를 사용하여 얻은 오늘의 날짜입니다.
오늘의 날짜
I/flutter ( 5557): 09-10-2018
제가 지금 직면한 문제는, 이 두 날짜의 차이를 어떻게 계산할 수 있는지입니다.
확인할 수 있는 특정한 공식이나 패키지가 있나요?
답변
당신은 DateTime
클래스에서 제공하는 difference
메소드를 사용할 수 있습니다.
//생일 날짜
final birthday = DateTime(1967, 10, 12);
final date2 = DateTime.now();
final difference = date2.difference(birthday).inDays;
업데이트
이 솔루션에 버그가 있다는 보고가 많이 있어 더 이상의 실수를 방지하기 위해, @MarcG가 만든 올바른 솔루션을 여기에 추가합니다. 모든 크레딧은 그에게 돌아갑니다.
int daysBetween(DateTime from, DateTime to) {
from = DateTime(from.year, from.month, from.day);
to = DateTime(to.year, to.month, to.day);
return (to.difference(from).inHours / 24).round();
}
//생일 날짜
final birthday = DateTime(1967, 10, 12);
final date2 = DateTime.now();
final difference = daysBetween(birthday, date2);
이것은 전체 설명이 포함된 원래 답변입니다: https://stackoverflow.com/a/67679455/666221
반응형
댓글