Linux c 로 컬 시간 가 져 오기 및 설정 방법
직접 코드
나 랑 똑 같은 풋내기 가 어 울 려.
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "app.h"
extern unsigned char recvMAC[6];
extern unsigned char localTime[7];
extern unsigned char localMAC[6];
extern unsigned char fw_version[12];
extern unsigned char sensorlist_version[12];
/* struct tm
{
int tm_sec; //
int tm_min; //
int tm_hour; //
int tm_mday; //
int tm_mon; //
int tm_year; //tm_year+1900=
int tm_wday; //
int tm_yday; //
int tm_isdst; //
}
*/
int getLocalTime(void)
{
int i;
unsigned short year;
//unsigned short yearH;
//unsigned short yearL;
struct tm *local;
time_t t;
t = time(0); //
local = localtime(&t); // , struct tm
printf("local time is %d:%d:%d:%d:%d:%d
",1900+local->tm_year,
1+local->tm_mon,
local->tm_mday,
local->tm_hour,
local->tm_min,
local->tm_sec);
year=1900+local->tm_year;
localTime[0]=year>>8;
localTime[1]=year&0x00ff;
localTime[2]=1+local->tm_mon;
localTime[3]=local->tm_mday;
localTime[4]=local->tm_hour;
localTime[5]= local->tm_min;
localTime[6]= local->tm_sec;
for(i=0;i<7;i++)
printf("0x%02x
",localTime[i]);
printf("
");
return 0;
}
/************************************************
:*dt "2015-9-20 20:30:30"
:
char *pt="2015-9-20 20:30:30";
setLocalTime(dt);
**************************************************/
int setLocalTime(char *dt)
{
struct rtc_time tm;
struct tm _tm;
struct timeval tv;
time_t timep;
sscanf(dt, "%d-%d-%d %d:%d:%d", &tm.tm_year,
&tm.tm_mon, &tm.tm_mday,&tm.tm_hour,
&tm.tm_min, &tm.tm_sec);
_tm.tm_sec = tm.tm_sec;
_tm.tm_min = tm.tm_min;
_tm.tm_hour = tm.tm_hour;
_tm.tm_mday = tm.tm_mday;
_tm.tm_mon = tm.tm_mon - 1;
_tm.tm_year = tm.tm_year - 1900;
timep = mktime(&_tm);
tv.tv_sec = timep;
tv.tv_usec = 0;
if(settimeofday (&tv, (struct timezone *) 0) < 0)
{
printf("Set system datatime error!/n");
return -1;
}
return 0;
}
이 설정 이 완료 되면 실제 적 으로 바 텀 변수의 값 만 바 꾸 고 데 이 터 를 RTC 레지스터 에 기록 하지 않 으 며 시스템 을 다시 시작 하면 효력 을 잃 습 니 다. RTC 에 기록 하려 면 실행 해 야 합 니 다.
system("hwclock -w");
도움 이 됐 으 면 좋 겠 어 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.