c++ 标准 字符串转换为时间 时间大小比较 判断有效期 简洁办法
c# php delphi java 等各种语言 对字符串转换为日期 然后与当前日期进行比较 是非常容易的 因为有现成的函数可用
标准 c++ 硬是找不到 合适的代码可用
于是
百度了很多 没百出个结果
于是综合网上资料 自己优化了下 直接拿来用 即可
time_t str_to_time_t(const string& ATime, const string& AFormat="%d-%d-%d")
{
struct tm tm_Temp;
time_t time_Ret;
try
{
int i = sscanf(ATime.c_str(), AFormat.c_str(),// "%d/%d/%d %d:%d:%d" ,
&(tm_Temp.tm_year),
&(tm_Temp.tm_mon),
&(tm_Temp.tm_mday),
&(tm_Temp.tm_hour),
&(tm_Temp.tm_min),
&(tm_Temp.tm_sec),
&(tm_Temp.tm_wday),
&(tm_Temp.tm_yday)); tm_Temp.tm_year -= 1900;
tm_Temp.tm_mon --;
tm_Temp.tm_hour=0;
tm_Temp.tm_min=0;
tm_Temp.tm_sec=0;
tm_Temp.tm_isdst = 0;
time_Ret = mktime(&tm_Temp);
return time_Ret;
} catch(...) {
return 0;
}
} time_t NowTime()
{
time_t t_Now = time(0);
struct tm* tm_Now = localtime(&t_Now);
tm_Now->tm_hour =0;
tm_Now->tm_min = 0;
tm_Now->tm_sec = 0;
return mktime(tm_Now);
} bool IsValidTime(const time_t& AEndTime, const time_t& ANowTime )
{
return (AEndTime >= ANowTime);
}
调用方法
string sEndTime ="2013-12-9";
string sTemp;
time_t t_Now = NowTime();
time_t t_End = str_to_time_t(sEndTime);
if (IsValidTime(t_End, t_Now)) {
sTemp = "有效日期";
} else {
sTemp = "时间过期";
}
++新增两个通用方法 (新增date(double) to time_t) +time_t to string
string time_t_to_str(const time_t &ATime_t, const string& AFormat="%d-%d-%d")
{
char chRet[];
string sRet;
struct tm *p;
try
{
p = localtime(&ATime_t);
p->tm_year = p->tm_year + ;
p->tm_mon = p->tm_mon + ;
sprintf(chRet, AFormat.c_str(),
p->tm_year, p->tm_mon, p->tm_mday);
sRet = chRet;
return sRet;
} catch(...) {
return "";
}
} time_t date_to_timet( double ADate, bool AClearDecimal= false)
{
if (AClearDecimal){
ADate = int(ADate);
}
return (time_t)((Adate-)*(**)-timezone + 0.5 );
}
// time_t dttime = date_to_timet(41618.9023, true);
[DATE]double(41618)=string("2013-12-10")
c++ 标准 字符串转换为时间 时间大小比较 判断有效期 简洁办法的更多相关文章
- PHP用strtotime()函数比较两个时间的大小实例详解
在PHP开发中,我们经常会对两个时间的大小进行判断,但是,在PHP中,两个时间是不可以直接进行比较,因为时间是由年.月.日.时.分.秒组成的,所以,如果需要将两个时间进行比较的话,我们首先要做的就是将 ...
- JSON字符串转换为JSON对象
一.JSON字符串转换为JSON对象 A:eval函数 eval函数可以直接将本质符合或者近似符合JSON格式的字符串转换为JSON对象,使用方式如: eval('(' + str + ')'); / ...
- Java字符串转换为日期和时间比较大小
字符串转换为时间: String data = "2014/7/11"; SimpleDateFormat dfs = new SimpleDateFormat("yyy ...
- postgresql数据库的 to_date 和 to_timestamp 将 字符串转换为时间格式
数据库中:字符串 转换为 时间格式 二者区别: to_data 转换为 普通的时间格式 to_timestamp 转换可为 时间戳格式出错场景: 比较同一天 日期大小的时候,很容易出错 ...
- Python 将一个已知的 utc时间字符串 转换为东八区时间
先获取一个utc格式的时间 utc_time = datetime.datetime.utcnow() print(utc_time) 输出 2018-06-24T08:59:39Z 这里我们假设目前 ...
- 将UTC日期字符串转为本地时间字符串,如@"yyyy-MM-dd'T'HH:mm:ssZ"转换为本地时间
由于苹果商店上线应用24小时内会不稳定,更新提醒可能会陷入死循环,更新提醒需要24小时后弹出,需要把苹果返回的上线时间转换为本地时间故写了下边的方法: //将UTC日期字符串转为本地时间字符串//输入 ...
- 使用Python将字符串转换为格式化的日期时间字符串
我正在尝试将字符串“20091229050936”转换为“2009年12月29日(UTC)” >>>import time >>>s = time.strptime ...
- java将字符串转换为指定的时间格式
*String dateString = "18:31:43"; try { Date date = new SimpleDateFormat("HH:mm ...
- Python学习笔记9:标准库之日期时间(time包,datetime包)
一 time包 sleep([float time]) 延迟一段以浮点数表示的秒数 time包基于C语言的库函数(library functions). Python的解释器一般是用C编写的,Pyth ...
随机推荐
- 2013.6.24 - OpenNE第四天
今天晚上跟师兄讨论,这那几篇论文,对于<领域多词表 达翻译对的自动抽取及其应用>那篇,我的感觉是跟实体识别不太吻合.他的大概意思就是先讲所有有可能的多词表达都找出来,然后在用C-value ...
- IDEA 使用教程(破解2019.1.1)
2019-08-02更新 最新破解方法: ZKVVPH4MIO-eyJsaWNlbnNlSWQiOiJaS1ZWUEg0TUlPIiwibGljZW5zZWVOYW1lIjoi5o6I5p2D5Luj ...
- Yum下载rpm包、不分析依赖关系强制安装
在安装包后面加两个参数 --nodeps --force 如下: [root@sh158-xen data]#rpm -ivh MySQL-server-5.5.24-1.linux2.6.x86_6 ...
- 配置比较完善的日志 logger 的使用
1.配置文件 log_conf.conf ################################################ ###########propagate 是否继承父类的lo ...
- Java精通并发-从Thread与Runnable说起
java并发的学习从去年就已经中断了,之前只对于java并发的一些基础进行了一些巩固,对于这个硬技能不管是对于面试还是对于日常的实际开发来说都非常之重要,所以接下来给自己重新定一个新目标,准备重拾它一 ...
- DT开发笔记-Cookie作用域的设置
当网站任意一个模块绑定了二级域名或者会员公司主页开启了二级域名时,必须设置cookie作用域,否则会导致二级域名站点不能显示正确的登录状态,js权限错误等问题(例如评论框显示不完全的现象). 进入网站 ...
- 关于Serializable
1.在Java中,只要一个类实现了java.io.Serializable接口,那么它就可以被序列化. 2.通过ObjectOutputStream和ObjectInputStream对对象进行序列化 ...
- python 不能加载pip install的site-package文件
python -m pip install tensorflow-gpu==1.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/
- Python中pass、continue、break、exit()的区别
pass :不做任何事情,只起到占位的作用 continue: 跳出本次循环 break:结束循环 exit():结束整个程序 由于continue和break较简单,这里就不给出代码
- php获取时期时间信息函数
在正式学习日期函数前大家得了解几个概念: 1.时区 2.世界时 3.unix时间戳 时区 这个概念,之前大家听说过很多.我们来啰嗦两句,我们现实生活中使用的实区,在电脑里面也是一样有规定的.大理石机械 ...