2014-11-14 8 views
-5

ISO8601 타임 스탬프에서 시간을 변환하려고합니다.ISO8601 타임 스탬프를 C 코드로 변환합니다.

내가 타임 스탬프 exemple에서 "T"를 제거하려면 :

"0001-01-01T17:45:33" --> "0001-01-01 17:45:33" 

이 변환 시간을이 코드로 teste

+5

당신은 이미 아무런 C 코드, 구조의 같은 종류에서, 여기에이 질문을했습니다. 코드를 게시하십시오 - 입력 문자열은 어디에 할당되며 출력 문자열은 어디에 쓸 것입니까? –

+0

신중하게 질문을 읽으십시오 !!!!!!!!! 동일하지 않습니다 –

+0

질문에 대한 기술적 인면에서 자세한 설명은 다음과 같습니다. 입력 문자열을 왼쪽에서 오른쪽으로 스캔하고 'T'문자 또는 '-' 문자를 공백 문자로 바꿉니다. –

답변

-1

을 획기적인하는 타임 스탬프로 변환하는 데 유용합니다, 그것은 나를

을 위해 잘 작동
#include <stdio.h> 
#include <string.h> 

int main() { 
    char string[] = {"0001-01-01T17:45:33\0"}; 

    char *temp; 

    temp = strchr(string, 'T') ; 
    *temp= ' '; 
    printf("%s\n", temp); 
    printf("%s\n", string); 
} 
+2

우선, 그 질문을 별도의 답변으로 게시하지 마십시오. 둘째, 잘 작동하면 무엇부터 시작해야할까요? –

+0

처음으로 나는 그것에 대한 응답이 없다. 시체가 대답하기를 원하지 않을 때 나는 다른 포럼 –

1

char *strptime(const char *s, const char *format, struct tm *tm); 
봤어

time.h? 예를 들어

:

출력
#include<stdio.h> 
#define __USE_XOPEN 
#include<time.h> 

int main(){ 
    char newtime[100]; 
    const char *time="0001-01-01T17:45:33"; 
    struct tm tm_; 

    strptime(time,"%FT%T",&tm_); 

    strftime(newtime,100,"%F %T",&tm_); 

    printf("%s\n",newtime); 
    printf("Epoch time:%d\n",(int)mktime(&tm_)); 
    return 0; 
} 

:

1-01-01 17:45:33 
Epoch time:-1 
+0

에서 타임 스탬프에 'T'가 포함되어 있는지 검색하면 문제가된다! –

+0

mktime은 입력 된 날짜가 기점이 시작되기 전에 -1을 반환합니다. – jmajnert

관련 문제