프로가 되자.

post search result

UNIX_TIMESTAMP와 관련된 글 2개를 찾았습니다.

  1. 2009/06/26 NSDate를 여러가지 형태로 변환 하기 (4)
  2. 2009/06/02 C#에서 UNIX_TIMESTAMP 형식 사용하기

NSDate를 여러가지 형태로 변환 하기

NSDate를 사용하다 보면 unix timestamp형식으로 바꾼다던가, 년/월/일 정보를 가져온다던가 기타 등등 기능이 필요할 때가 있습니다.

그냥 NSDate에서 다 지원해주면 좋겠지만.. 안타깝게 그러진 않네요 -ㅁ-;

NSDate를 다른 형태의 데이터로 변환하는 방법을 정리 해 보았습니다.

1. NSDate to unix timestamp
NSDate의 timeIntervalSince1970를 이용하시면 됩니다.
예: 현재의 시간을 unix timestamp로 변환하기
int timestamp = [[NSDate date] timeIntervalSince1970];


2. unix timestamp to NSDate
NSDate의 dateWithTimeIntervalSince1970:를 이용하시면 됩니다.
예: 2009-06-26 10:51:39의 unix timestamp를 NSDate로 변환하기
NSDate *date = [NSDate dateWithTimeIntervalSince1970:1245981099];


3. NSDate to date component
이건 좀 복잡한데.. 년/월/일 시/분/초 를 구할 때 사용합니다. NSCalendar와 NSDateComponents를 이용하여 구합니다.
예: 2009-06-26 10:51:39의 unix timestamp로 NSDate객체 생성한 뒤 해당 객체를 년/월/일 시/분/초 로 분할하여 표시하기
NSDate *date;
NSDateComponents *com;
    
date = [NSDate dateWithTimeIntervalSince1970:1245980099];
com = [[NSCalendar currentCalendar] components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:date];


4. date component to NSDate
년/월/일 시/분/초 로 부터 NSDate객체를 생성할 때 사용합니다. 마찬가지로 NSCalendar를 이용합니다.
예: 2009-06-26 10:51:39 시간을 가리키는 NSDate객체 생성하기
NSDate *date;
NSDateComponents *com;
NSDateFormatter *formatter;

com = [[NSDateComponents alloc] init];
[com setYear:2009];
[com setMonth:6];
[com setDay:26];
[com setHour:10];
[com setMinute:51];
[com setSecond:39];

date = [[NSCalendar currentCalendar] dateFromComponents:com];

formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSLog(@"%@", [formatter stringFromDate:date]);
[formatter release];
[com release];

크리에이티브 커먼즈 라이센스
Creative Commons License
2009/06/26 11:15 2009/06/26 11:15

top

About this post

이 글에는 아직 트랙백이 없고, 댓글 4개가 달려있고, , , , 태그가 달려있으며,
2009/06/26 11:15에 작성되었습니다.

C#에서 UNIX_TIMESTAMP 형식 사용하기

UNIX_TIMESTAMP는 1970년 1월 1일 부터 해당 날짜까지 몇 초가 지났는지를 의미한다.
이러한 원리를 알고 있다면 변환하는 방법은 쉽다.
그냥 1970년 1월 1일을 나타내는 DateTime객체를 생성해서 더하거나 빼면 되는 것이다.

이러한 원이를 이용하여 다음과 같은 유틸리티를 만들어두면 편리하다.

public static DateTime DateTimeFromUnixTimeStamp(int unixTimeStamp)
{
    return new DateTime(1970, 1, 1).AddSeconds(unixTimeStamp);
}
public static int UnixTimeStampFromDateTime(DateTime dateTime)
{
    return (int)((dateTime - new DateTime(1970, 1, 1)).TotalSeconds);
}

참 쉽죠잉?
크리에이티브 커먼즈 라이센스
Creative Commons License
2009/06/02 15:23 2009/06/02 15:23

top

About this post

이 글에는 아직 트랙백이 없고, 아직 댓글이 없고, , , 태그가 달려있으며,
2009/06/02 15:23에 작성되었습니다.

◀ recent : [1] : previous ▶

blog information

프로가 되자.
BLOG main image
빗소리를 먹는 사람.
RSS 2.0Tattertools
최근 글 최근 댓글 최근 트랙백
태그 구름사이트 링크