- //64位时间转化
- 1315290545000000000 ->2011-09-06 14:29:05
- void ConvertNano2Time()
-
{
-
char Time[128]={0},t[32]={0};
-
struct tm* pTm;
-
CString strNano;
-
UINT64 unix_val;
-
-
GetDlgItem(IDC_EDIT_NANO)->GetWindowText(strNano);
-
strcpy(t,strNano.GetBuffer(0));
-
sscanf(t,"%lld",&unix_val);
-
unix_val = unix_val/10;
-
const __time64_t tv_sec = unix_val / 100000000;
-
UINT64 tv_nano = (unix_val % 100000000) * 10;
-
pTm = _localtime64(&tv_sec);
-
if (pTm == NULL)
-
{
-
return;
-
}
-
else
-
{
-
sprintf(Time,"%4d-%02d-%02d %02d:%02d:%02d\n",pTm->tm_year+1900,pTm->tm_mon+1,pTm->tm_mday,pTm->tm_hour,pTm->tm_min,pTm->tm_sec);
-
}
-
GetDlgItem(IDC_EDIT_TIME)->SetWindowText(Time);
-
return;
-
}
- //2011-09-06 14:29:05->1315290545000000000
-
void ConvertTime2Nano()
-
{
-
char time[64]={0};
-
int year,mon,day,hour,min,second;
-
struct tm Tm;
-
CString strTime;
-
GetDlgItem(IDC_EDIT_TIME)->GetWindowText(strTime);
-
-
sscanf(strTime.GetBuffer(0),"%4d-%02d-%02d %02d:%02d:%02d",&Tm.tm_year,&Tm.tm_mon,&Tm.tm_mday,&Tm.tm_hour,&Tm.tm_min,&Tm.tm_sec);
-
Tm.tm_year-=1900;
-
Tm.tm_mon-=1;
-
__time64_t timeSecond = _mktime64(&Tm);
-
timeSecond*=1000000000;
-
CString strSecond;
-
strSecond.Format("%lld",timeSecond);
-
GetDlgItem(IDC_EDIT_NANO)->SetWindowText(strSecond);
-
- }