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++ 标准 字符串转换为时间 时间大小比较 判断有效期 简洁办法的更多相关文章

  1. PHP用strtotime()函数比较两个时间的大小实例详解

    在PHP开发中,我们经常会对两个时间的大小进行判断,但是,在PHP中,两个时间是不可以直接进行比较,因为时间是由年.月.日.时.分.秒组成的,所以,如果需要将两个时间进行比较的话,我们首先要做的就是将 ...

  2. JSON字符串转换为JSON对象

    一.JSON字符串转换为JSON对象 A:eval函数 eval函数可以直接将本质符合或者近似符合JSON格式的字符串转换为JSON对象,使用方式如: eval('(' + str + ')'); / ...

  3. Java字符串转换为日期和时间比较大小

    字符串转换为时间: String data = "2014/7/11"; SimpleDateFormat dfs = new SimpleDateFormat("yyy ...

  4. postgresql数据库的 to_date 和 to_timestamp 将 字符串转换为时间格式

    数据库中:字符串 转换为 时间格式 二者区别: to_data 转换为 普通的时间格式        to_timestamp 转换可为 时间戳格式出错场景: 比较同一天 日期大小的时候,很容易出错 ...

  5. Python 将一个已知的 utc时间字符串 转换为东八区时间

    先获取一个utc格式的时间 utc_time = datetime.datetime.utcnow() print(utc_time) 输出 2018-06-24T08:59:39Z 这里我们假设目前 ...

  6. 将UTC日期字符串转为本地时间字符串,如@"yyyy-MM-dd'T'HH:mm:ssZ"转换为本地时间

    由于苹果商店上线应用24小时内会不稳定,更新提醒可能会陷入死循环,更新提醒需要24小时后弹出,需要把苹果返回的上线时间转换为本地时间故写了下边的方法: //将UTC日期字符串转为本地时间字符串//输入 ...

  7. 使用Python将字符串转换为格式化的日期时间字符串

    我正在尝试将字符串“20091229050936”转换为“2009年12月29日(UTC)” >>>import time >>>s = time.strptime ...

  8. java将字符串转换为指定的时间格式

    *String dateString = "18:31:43";    try {     Date date = new SimpleDateFormat("HH:mm ...

  9. Python学习笔记9:标准库之日期时间(time包,datetime包)

    一 time包 sleep([float time]) 延迟一段以浮点数表示的秒数 time包基于C语言的库函数(library functions). Python的解释器一般是用C编写的,Pyth ...

随机推荐

  1. 【Flask】 python学习第一章 - 3.0 正则转换和错误捕捉

    3.1正则转换器定义 Class RegexConverter(BaseConverter): regex = "[0-9]{6}" app.url_map.converters[ ...

  2. Proxmox 命令使用方法

    proxmox 虚拟机使用命令介绍 qm <command> <vmid> [OPTIONS]                                          ...

  3. MySQL将某个数据库下的所有表的存储引擎修改为InnoDB类型语句

    如何将mysql数据库中的MyISAM类型表更改为InnoDB类型的表 改单个表 ALTER TABLE TABLENAME ENGINE=InnoDB; ALTER TABLE TABLENAME ...

  4. 小程序基础能力~自定义 tabBar

    自定义 tabBar 基础库 2.5.0 开始支持,低版本需做兼容处理. 自定义 tabBar 可以让开发者更加灵活地设置 tabBar 样式,以满足更多个性化的场景. 在自定义 tabBar 模式下 ...

  5. JAVA对象结构

    对象的内存布局 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header),实例数据(Instance Data)和对象填充(Padding). 实例数据:对象真正存储的 ...

  6. 04 c++中的友元

    c++中的类具有封装性,类中的私有数据只有该类的成员函数可以访问,程序中访问类中的私有成员,必须通过对象来调用成员函数,但是频繁的调用会使运行效率降低. 为了解决上述问题,c++中加入友元机制,友元可 ...

  7. elementUI 控制 DatePicker组件 不能选择 设定的日期

    <el-date-picker v-model="date" type="daterange" range-separator="至" ...

  8. 01.Vue前端路由学习目标

    路由的基本概念与原理 vue-router的基本使用 vue-router嵌套路由 vue-router动态路由匹配 vue-router命名路由 vue-router编程式导航 基于vue-rout ...

  9. PAT1059Prime Factors

    1059 Prime Factors (25分)   Given any positive integer N, you are supposed to find all of its prime f ...

  10. SP1825 【FTOUR2 - Free tour II】

    # \(SP1825\) 看到没有人用老师的办法,于是自己写一下思路 思路第一步:排除旧方法 首先这道题和\(4178\)不一样,因为那道题是计数,而这道题是求最值,最值有个坏处,就是对于来自相同子树 ...