2017-05-18 9 views
2
DateTime dtStart = new DateTime(2015,7,28); 
LocalDate ldtStart = LocalDate.FromDateTime(dtStart); 

DateTime dtEnd = new DateTime(2017, 2, 1); 
LocalDate ldtEnd = LocalDate.FromDateTime(dtEnd); 

Period period = Period.Between(ldtStart, ldtEnd, PeriodUnits.YearMonthDay); 

결과 :
period.Years -> 1
period.Months -> 6
period.Days -> 4
노다 시간과의 날짜차가 맞습니까? 위의 대한

당신은 내가 노다에서 가져온 차이를 볼 수 있듯이 시간 라이브러리.
하지만 난 위의 링크에 대한 https://www.easycalculation.com/date-day/age-calculator.php
결과에 대해 서로 다른 결과를 얻을 :
일년 6 개월 및 일일

시작 날짜 : 2015년 7월 28일
종료 날짜 : 1 이월 2017

누군가 내가 노다 시간 플러그인에서 얻은 결과가 내가 제공 한 링크보다 정확하다고 말할 수 있습니까?

답변

3

"더 정확하게"는 차이점을 어떻게 계산할 것인지 지정해야합니다. 거기에 하나의 정답은 없습니다. documented으로 Noda Time은 요소별로 작동합니다. 당신이 2015년 7월 28일에 1 년, 6 개월 사일을 추가한다면 당신이 얻을 :

  • 추가 일년 : 2016년 7월 28일
  • 추가 6개월 : 4 일을 추가 2017년 1월 28일
  • : 1 2 월 2017

코드는 available on the site itself입니다. 그것은 다소 순진한 접근법을 취하는 것처럼 보입니다.

특히, 2017 년 1 월 31 일에 태어난 사람이 2017 년 2 월 1 일에 태어난 나이를 물어 보면 그들은 2 일 전이라고 말합니다. 나는 그것이 맞다고 생각하지 않습니다 ...

+0

NodeTime에서 사용한 논리를 설명하고 결과를 확인하고이 플러그인을 사용하는 것에 대한 제안을 주신 Thanks @jon Skeet. 그 링크가 정확하지 않은 것 같아요. NodeTime을 사용하여 업무 경험의 차이를 계산합니다. 하나의 마지막 질문 : 최종 기간에 다른 날짜 차이에서 여러 기간을 추가하는 방법이 있습니까? –

+0

@PratikGhag 당신이 무엇을 의미하는지 모르겠지만, 당신이하려는 일에 대한 명확한 예를 들어 새로운 질문을 던지시기 바랍니다. –

+0

나는 이것을 스스로 알아 내려고 노력할 것이다. 내가 붙어 있다면 내가 물어볼거야. :) –

1

2015년 7월 28일에서 2015년 8월 1 4 일 1 년 8 월 20152017년 2월 1일 정확히 1과 2 분의 1 년입니다이다.

정확한 정보가 표시됩니다. 또한 link으로 확인할 수 있습니다.

당신은 2015년 7월 또는 2015년 7월 30일 29 당신이 잘못된 입력을 볼 수 2015년 7월 28일에서 your link 날짜 변경을 시도 할 수 있습니다.

+0

당신의 설명에 따르면 고맙습니다. NodaTime은 https://www.easycalculation.com/date-day/age-calculator.php보다 정확하다고 결론을 내 렸습니다. –

+0

@Pratik Ghag 환영합니다 –