vb.net 메소드 사용에 대한 시사점 Dateandtime.datediff c#
-
05-07-2019 - |
문제
레거시 ONE (Classic ASP)을 기반으로 새로운 ASP.NET 웹 응용 프로그램을 구축하고 있습니다. 5 년 전에이 코드 4를 구축 한 사람들은 Datediff와 같은 많은 vbscript 기능을 사용했습니다.
현재 날짜로 많은 계산을하는 시뮬레이터를 작업하고 있습니다. 그리고 VB 6에서와 마찬가지로 C#의 달 사이의 차이를 쉽게 얻을 수있는 방법이 없기 때문에이 날짜 사이에 성가신 차이가 있습니다.
따라서 ASP.NET 웹 응용 프로그램에서 Microsoft.visualBasic 네임 스페이스에서 DateAndTime.Datediff를 사용하는 경로를 선택합니다.
너희들은 그것에 약간의 의미가 있는지 알고 있습니까? 나는이 접근법에 약간 걱정하고 있습니다.
건배,
해결책
유일한 의미는 배포에 다른 어셈블리를 추가하고 많은 C# 개발자 (코드를 유지 해야하는 다른 사람들)가 알지 못하는 기능을 사용한다는 것입니다. 그러나 개인적으로 나는 그것에 많은 문제가 있다고 생각하지 않습니다. MSDN 라이브러리 문서는 일반적으로 양호하며 사용하는 이유를 설명하려면 몇 가지 의견을 추가 할 수도 있습니다.
편집 : 또한 Microsoft.visualBasic은 .NET 용으로 처음부터 구현되었습니다. 그것은 고대 코드를 포함하지 않습니다.
다른 팁
하나의 가능성은 Itay가 지적한대로 타임 스팬을 사용하는 것이지만 분수 월을 무시하고 30.4375 (월 평균 일)로 나눕니다. 이것은 내가 현재 일하고있는 일에 충분하지만 귀하의 요구에 따라 충분히 정확하지 않을 수 있습니다. 예를 들어, 2 월 1 일과 3 월 1 일의 차이는 0이되며 (30.4375 일의 달 정의에 따라) 정확합니다. 그러나 특정 목적에 맞지 않을 수도 있습니다.
VisualBasic 네임 스페이스에 분류 된 것 중 어느 것도 사용해서는 안되기 때문에 좋은 일입니다.
.NET 라이브러리는 TimesPan이라는 훨씬 더 나은 솔루션을 제공합니다. 다음 방법으로 사용합니다. (DT1 및 DT2는 DateTime
에스)
TimeSpan ts = dt2 - dt1; //Or ts = dt1.Subtract(dt2)
내가 도와주고 싶은 한, 나는 지적을 빠르게 한 눈에 나머지를 말해 줄 것이라고 생각합니다 (Visual Studio에 이것을 쓰고 추가합니다. ts.
)
편집하다 실제 달 계산 : (y2 - y1) * 12 + m2 - m1
, 왜 그렇게 난리야?