8 个解决方案
#1
用_stscanf将数字提取出来
#2
没有现成的函数,自己搞吧
int a, b, c;
sscanf("2012-12-15", "%d-%d-%d", &a, &b, &c);
然后自己转化下需要的格式了
楼上_stscanf是TCHAR下的函数
int a, b, c;
sscanf("2012-12-15", "%d-%d-%d", &a, &b, &c);
然后自己转化下需要的格式了
楼上_stscanf是TCHAR下的函数
#3
boost
#4
或者 COleDateTime::ParseDateTime
#5
boost中有函数可用。
或者如二楼所述,用sscanf提取年、月、日对应数字,再转换即可。
#include "stdafx.h"
#include "boost/date_time/posix_time/posix_time.hpp"
using namespace boost::posix_time;
int _tmain(int argc, _TCHAR* argv[])
{
std::string ts("2002-01-20 23:59:59.000");
ptime t(time_from_string(ts));
tm pt_tm = to_tm( t );
或者如二楼所述,用sscanf提取年、月、日对应数字,再转换即可。
#6
COleDateTime::ParseDateTime
#7
一般来说“时间戳”都不是指绝对时间,而是“滴答数”,总长度只有4天时间左右。
#8
分析字符串自己转换啊
#1
用_stscanf将数字提取出来
#2
没有现成的函数,自己搞吧
int a, b, c;
sscanf("2012-12-15", "%d-%d-%d", &a, &b, &c);
然后自己转化下需要的格式了
楼上_stscanf是TCHAR下的函数
int a, b, c;
sscanf("2012-12-15", "%d-%d-%d", &a, &b, &c);
然后自己转化下需要的格式了
楼上_stscanf是TCHAR下的函数
#3
boost
#4
或者 COleDateTime::ParseDateTime
#5
boost中有函数可用。
或者如二楼所述,用sscanf提取年、月、日对应数字,再转换即可。
#include "stdafx.h"
#include "boost/date_time/posix_time/posix_time.hpp"
using namespace boost::posix_time;
int _tmain(int argc, _TCHAR* argv[])
{
std::string ts("2002-01-20 23:59:59.000");
ptime t(time_from_string(ts));
tm pt_tm = to_tm( t );
或者如二楼所述,用sscanf提取年、月、日对应数字,再转换即可。
#6
COleDateTime::ParseDateTime
#7
一般来说“时间戳”都不是指绝对时间,而是“滴答数”,总长度只有4天时间左右。
#8
分析字符串自己转换啊