C\#DateTime 으로 선택 할 수 있 는 날짜 범 위 를 미리 설정 합 니 다(예 를 들 어 이번 년도,이번 분기,이번 달 등)
효과:
모두 가 보고 서 를 작성 하거나 조회 할 때 사용자 에 게 선택 할 수 있 는 날짜 범 위 를 미리 설정 합 니 다(위의 그림 참조).
예 를 들 어 이번 년도 매출 액,이번 분기 이윤,이번 달 에 고객 이 새로 증가 할 경우
C\#내 장 된 DateTime 은 기본적으로 이러한 기능 을 실현 할 수 있 습 니 다.DateTime 을 교묘 하 게 사용 하면 이런 일 을 처리 하 는 것 이 훨씬 쉬 워 집 니 다.
//
DateTime.Now.Date.ToShortDateString();
// ,
DateTime.Now.AddDays(-1).ToShortDateString();
// , ,
DateTime.Now.AddDays(1).ToShortDateString();
// ( , ,
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
// ,
// DayOfWeek , , switch ,
string[] Day = new string[] { " ", " ", " ", " ", " ", " ", " " };
Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
// , , 7 , 7 ,
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
//
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
// , 1 , 。
//
DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //
DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//
// C# ToString
DateTime.Now.ToString("yyyy-MM-01");
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();
// ,
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
// ,
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();
//7
DateTime.Now.Date.ToShortDateString();
DateTime.Now.AddDays(7).ToShortDateString();
//7
DateTime.Now.AddDays(-7).ToShortDateString();
DateTime.Now.Date.ToShortDateString();
// , ToString
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();
// ,
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();
//
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();
// , , 。 , ,
// ,
DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
// ,
DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
// , 。。。。
DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
//
DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
DateTime.Parse(DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
DateTime 비교로그 요약 에 날 짜 를 비 교 했 습 니 다.로 그 를 발표 하 는 시간 과 현재 날 짜 를 비교 해 야 합 니 다.만약 3 일 안에 발표 된다 면 이 로그 앞 에'새'자 를 추가 하 겠 습 니 다.
나의 이전 알고리즘 은 매우 번 거 로 웠 는데,문자열 을 성형 으로 바 꾼 후에 다시 계산 하 는 것 이 었 다.
데이트 타임 으로 직접 비교 하고 싶 습 니 다.나 는 먼저 발표 날짜(문자열)를 날짜 형 으로 변환 합 니 다.
/
DateTime PubDate=new DateTime();
// PubDate=item[" "];
string strPubDate=item[" "].ToString();
DateTime dt1=new DateTime(DateTime.Parse(strPubDate));
처음에 나 는 바로 위 에 있 는 이 문구 에 3 일 을 넣 었 다.문 구 는 바로 이렇다.DateTime dt1=new DateTime(int.Parse(strY),int.Parse(strM),(int.Parse(strD)+3),0,0,0,0);
결국,늘 실 수 를 한다.원인 은 어디 에 있 습 니까?
나 는 추적 테스트 를 해서 문제 의 소 재 를 발견 했다.발 표 된 로 그 는 매달 28 일 이후 직접 전환 할 때 3 을 추 가 했 기 때문에 29+3=32,32 는 날짜 형 으로 바 꿀 수 없다.
그래서 저 는 이 오 류 를 바로 잡 고 비교 할 때 DateTime.Adddays(3)로 이 작업 을 완 성 했 습 니 다.
//
DateTime CurrentDate=new DateTime();
CurrentDate=DateTime.Now;
if(CurrentDate<DT1.ADDDAYS(3))
{
str=str+" ! ";
}
날짜 가 같은 지 비교 하려 면 DateTime.Compare(dt1,dt2)를 사용 하 십시오.이상 은 본문의 전체 내용 이 므 로 여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.