public DateTime BuyLimitTime = new DateTime().AddHours(1);
~~~~
if (DateTime.Now >= BuyLimitTime)
{
StateMachine.StateChange(E_StockState.RequestSell);
}
한시간 뒤에 뭐뭐해라 라는 느낌으로 만들려고 해요.
코루틴 안에서 돌고있는 코드구요.
Now 값이 지정한 시간을 넘어가면 작동하게 하고싶은데.
C#이구요.
이 코드만 따로 떼서 테스트 해보니 잘 안되네요.
시간과 관계없이 true 가 나와버림요. 이렇게 비교하는게 아닌것같아요.
가르침을 주세요. ㅠㅠ
횡설수설...너무 졸려서.ㅠㅜㅠ
5개의 댓글
무분별한 사용은 차단될 수 있습니다.
킹고리즘
DateTime() 기본생성자가 뭘 생성하는지 확인해봄?
숨은음은
DateTime을 비교하기 위해 존재하는 클래스가 TimeSpan이라는 클래스임
DateTime은 단순히 시각을 기억하는 클래스고
이를 비교하려면 서로 빼서 TimeSpan이라는 시간 차를 기록하는 클래스로 비교해야돼
밀당의달인
감사합니다 선생님.
개쉛기
new DateTime() 하면 지금이 아니라 기본값이라서 0001년 1월 1일 에 니가 AddHour(1)해서 0001년 1월 1일 1시가 된다.
니가 하고싶은게 한시간간격으로 반복하는걸 바란다면 대충 아래처럼 짤 수 있다.
while(true)
{
await Task.Delay(TimeSpan.FromHours(1));
//할일
}
여기다가 정시에 동작하길 원하거나, 정확한 1시간을 딱 찍고싶거나 등등에 따라서 코드를 좀 수정하면 됨.
밀당의달인
고맙습니다.