내가 필요했던 부분은 경매사이트에서 DB에 들어있는 마감시각을 가져와서 현재시각과 계산하여 남은 시간을 계산하기 위해서였다.
C#에서 DateTime이 시간이다. 보통 DB에도 "2007-07-23 오전 12:52"같은 형식으로 들어가는데 그럼 이것을 어떻게 계산을 해야하는가? 일단 그냥 빼기를 해서는 계산이 되지를 않았다.
C#에서는 연산자 오버로드를 할 수 있으므로 연산자 오버로드를 해야하는가 하면서 이것저것 뒤지다가 나온 것인 TimeSpan이다. 둘다 System네임스페이스를 사용한다.
TiemSpan은 시간 간격을 나타내는 구조체이다. DateTime을 계산하기 위해서 사용한다.
일단 소스를 보자.
따로 또 수정하기 귀찮아서 그냥 내가 쓴 소스를 그대로 잘라왔다. ㅋ
여기선 히든필드에서 값을 가져왔지만 스트링이면 DateTime으로 캐스팅하면 되고 DateTime이면 그냥 쓰면 된다.
Substract가 값을 빼는 메서드이다. end에서 현재의 시간을 빼고 이걸 TimeSpan t3에 저장해서 남은 시간을 계산했다.
여 기에 시간 간격이 0이하일 경우에는 그냥 종료시간만 표시하기 위해서 TimeSpan t2를 썼다. 이것저것 만져봤지만 TimeSpan의 형식을 정확히 알 수가 없어서 크기를 계산할 수가 없어서 나름대로 꼼수를 부렸다. Substract로 현재에서 현재를 빼서 t2에 저장을 했다. 연산속도를 보았을때 0이 나올 것이고 머 꼭 0이 아니더라도 너무 작은 값이므로 큰 상관이 없다.
비교메서드인 CompareTo를 사용해서 t3와 t2를 사용해서 시간간격이 0보다 큰지 아닌지를 비교했다.
'Application > C#' 카테고리의 다른 글
C# Frequently Asked Questions for C++ programmers (0) | 2008.03.18 |
---|---|
C# 관리되는, 되지 않는 리소스 사용에 대한 문제점과 해결방법 (0) | 2008.02.20 |
시간 간격 구하기 (1) | 2008.01.28 |
An Asynchronous Socket Server and Client (0) | 2008.01.28 |
Using Updater Block (0) | 2008.01.28 |
A simple Multi-Threaded Server Client Instant Messenger Application (1) | 2008.01.28 |
-
kinhana 2009.04.27 01:11 신고
질문좀 드리겠습니다
post 로 값을 던졌습니다.....그리고...
HttpWebRequest를 이용하여 얻어진 쿠키값을 이용하여 WebBrowser를 사용하고 싶습니다.
HttpWebRequest HTTP = (HttpWebRequest)WebRequest.Create("a-login URL"
HTTP.CookieContainer = new CookieContainer();
HTTP.Method = "POST";
HTTP.ContentType = "application/x-www-form-urlencoded";
MemoryStream bufferStream = new MemoryStream();
byte[] LoginParamattaBytes = System.Text.Encoding.GetEncoding("EUC-KR".GetBytes("ID=aa&PW=bb"
;
bufferStream.Write(LoginParamattaBytes, 0, LoginParamattaBytes.Length);
HTTP.ContentLength = bufferStream.Length;
bufferStream.WriteTo(HTTP.GetRequestStream());
bufferStream.Close();
LoginCookie = HTTP.CookieContainer; <== 로그인후 쿠키값 LoginCookie
위 HttpWebRequest를 이용하여 얻어진 쿠키값을 이용하여 webBrowser1에 접속하고싶습니다.
webBrowser1.Navigate("로그인 쿠키값이 필요한 URL"<-이렇게 제응용플에서 저쿠키를
가져와 로그인유지하며 다른페이지로 가려고 합니다....
방법좀 알려주시면 대단히 감사하겠습니다
webBrowser1.Navigate(a-다른페이지, null, null, webBrowser1.Document.Cookie);
이런식으로는 적용이 안되더라고요;;;;
제이메일주소는 automute@live.co.kr입니다 곽창수입니다