c++时间与java时间相互转化代码实例

最近一直在处理关于时间的一些各种转化,下面贴一些代码。


1 将java下毫秒时间转化为年月日

// s--毫秒时间的string类型     

void timeTransform(std::string s ,int &year,int &month,int &day,int &hour,int &minute)
{

s = s.substr(0, s.length()-3);
long b = atol( s.c_str() );

time_t t;  //秒时间
tm* local = new tm; //本地时间 
t = (time_t)(b) ; //获取目前秒时间
localtime_s( local,&t ); //转为本地时间

year = local->tm_year+ 1900 ;
month = local->tm_mon + 1;
day = local->tm_mday ;
hour = local->tm_hour ;
minute = local->tm_min ;
delete local;
}

2 将 年月日等转化成string类型的毫秒时间(毫秒全部设置成了000)

//返回string类型的毫秒时间

string change_time(int year,int month,int day,int hour,int minute)
{
struct  tm test;
test.tm_hour = hour;
test.tm_mday = day;
test.tm_min = minute;
test.tm_mon = month-1;
test.tm_year = year-1900 ;
test.tm_sec = 0;
time_t t = mktime( &test);


char second[20] ;
_ltoa((long)t, second,10);
string ret = second ;
ret.append("000");
return ret ;
}


3返回当前系统的string类型的毫秒时间

string get_current_time()
{
SYSTEMTIME sys;
GetLocalTime( &sys );
time_t  t;
time( &t );
char second[20] ;
char millSecond[5];
_ltoa((long)t, second,10);
_ltoa((long)sys.wMilliseconds, millSecond,10);


string ret = second ;
ret.append(millSecond);
return ret ;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值