陈金才:13位时间戳怎么转换成标准时间【易语言】
庞威的回答:
使用范例 char *str="1320718222932"; long long time1; sscanf(str,"%I64d",&time); CString strTime=MillSecond2LocalTime(time,8); ///////////////////////////////////////////////////////////////////////////// int CTimeChangeDlg::IsLeap(unsigned short year) { return ((year%4==0)&&(year%100!=0)||(year%400==0)); } CString CTimeChangeDlg::MillSecond2LocalTime(long long time,long timezone) { const int monthLengths[2][13]={ {0,31,59,90,120,151,181,212,243,273,304,334,365 }, {0,31,60,91,121,152,182,213,244,274,305,335,366 } }; const int yearLengths[2]={365,366}; int year(0),month(0),minMonth(0),maxMonth(0),days(0),clock(0),isLeap(0),day(0),hour(0),minute(0),second(0); time/=1000; time+=timezone*60*60; days=time/86400;//天数 clock=time%86400;//小时数 if(clock<0) { clock+=86400; days-=1; } if(days>=0) { year=days/366; days-=year*365+(year+1)/4-(year+69)/100+(year+369)/400; for (year=year+1970;;year++) { isLeap=IsLeap(year); if(days
黄文仔的回答:
使用范例 char *str="1320718222932"; long long time1; sscanf(str,"%I64d",&time); CString strTime=MillSecond2LocalTime(time,8); ///////////////////////////////////////////////////////////////////////////// int CTimeChangeDlg::IsLeap(unsigned short year) { return ((year%4==0)&&(year%100!=0)||(year%400==0)); } CString CTimeChangeDlg::MillSecond2LocalTime(long long time,long timezone) { const int monthLengths[2][13]={ {0,31,59,90,120,151,181,212,243,273,304,334,365 }, {0,31,60,91,121,152,182,213,244,274,305,335,366 } }; const int yearLengths[2]={365,366}; int year(0),month(0),minMonth(0),maxMonth(0),days(0),clock(0),isLeap(0),day(0),hour(0),minute(0),second(0); time/=1000; time+=timezone*60*60; days=time/86400;//天数 clock=time%86400;//小时数 if(clock<0) { clock+=86400; days-=1; } if(days>=0) { year=days/366; days-=year*365+(year+1)/4-(year+69)/100+(year+369)/400; for (year=year+1970;;year++) { isLeap=IsLeap(year); if(days
baby↓卟漓的回答:
看格式应该是php输出的时间戳 应该是随机英文 或者是 密钥之类的 检查下post 数据和cookies