CTime,Systemtime的比较还有转换成日期格式。
vc为我们提供了两种日期型的变量。
一种是CTime。他的缺点就是年份只支持到2038年,以后的日期就不支持啦,如果你的项目有20-30年的寿命,你就选择使用SYSTEMTIME.这个时间函数来进行比较还有转换。
一种是SYSTEMTIME。
在比较的时候都不能直接比较。看一下第一种CTime .
CTime timeFrom;
m_dateFrom.GetTime(timeFrom);
CTime timeTo;
m_dateTo.GetTime(timeTo);
CTimeSpan timeSpan=timeTo-timeFrom;
if(timeSpan.GetDays()<0)
{
AfxMessageBox(_T("Date illegal"));
return;
}
代码就不解释啦。
转换成日期格式
CString dateFrom=timeFrom.Format(_T("%Y-%m-%d"));
CString dateTo=timeTo.Format(_T("%Y-%m-%d"));
这样你就可以查询两个日期之间的数据啦。
再看一下,SYSTEMTIME的比较,还是转换成日期格式。
一样也是定义两个变量。
SYSTEMTIME timeFrom,timeTo;
m_dateFrom.GetTime(&timeFrom);
m_dateTo.GetTime(&timeTo);
但是这两个时间怎么比较呢,查了好多资料,都是要转换成CTime进行比较。
这样字就没有意义啦。
再在来介绍一种内存比较方法。
两个日期进行内存比较就可以判断出大小来。也不用费事去转换。
int re=memcmp(&timeFrom,&timeTo,sizeof(SYSTEMTIME));
if (re>0)
{
AfxMessageBox(_T("Date illegal"));
return;
}
如果是re>0就说明第一个选择的日期比第二个大。
如果是re<0就说明第一个选择的日期比第二个小。
如果是re=0就说明第一个选择的日期等于第二个。
下来看一下怎么把SYSTEMTIME转换成日期格式xxxx-xx-xx
先来看一下他的几种写法分别出来的效果是什么样子的。
VariantTimeToSystemTime(NULL,&timeFrom);
如果是这样写的话,不管你的日期选择的是哪一天,永远都是一天,是哪一天呢。1899-12-30日。
加个这个看看行不行
COleDateTime oleTime;
VariantTimeToSystemTime(oleTime,&timeFrom);
结果运行结果还是一样,还是那一天。
就没有解决办法了吗?
看一下这样定义行不行。
DATE date;
VariantTimeToSystemTime(date,&timeFrom);
CString dateFrom;
dateFrom.Format(_T("%04u-%02u-%02u"),timeFrom.wYear,timeFrom.wMonth,timeFrom.wDay);
这样就可以完全显示成XXXX-xx-xx的格式啦。
CTime,Systemtime的比较还有转换成日期格式。的更多相关文章
- js angular 时间戳转换成日期格式 年月日 yyyy-MM-dd
昨天写项目,要把时间戳转换成日期格式发给后端 我就去网上找 看到的一些都不是我想要的 索性自己就写了一个如图 下面是angular 模式 $scope.getMyDate = function(str ...
- js将时间戳转换成日期格式-陈远波
var timestamp =1539598555000;//时间戳 //时间戳转换成time格式function timestampToTime(timestamp) { var date = ne ...
- js 将long型字符串转换成日期格式
工作中难免会碰到日期的转换,往往为了方便,后台都是把时间以long型(形如1343818800000)返回给web前端.再有前端自己根据页面需求转换成相应的日期格式.这里将我常用的一个转换时间的函数贴 ...
- 让用户输入一个日期字符串,将其转换成日期格式, 格式是(yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd)中的一种, 任何一种转换成功都可以; 如果所有的都无法转换,输出日期格式非法。
第三种方法 while(true) { Date d; System.out.println("正在进行第一次匹配,请稍后~—~"); ...
- Java毫秒转换成日期格式
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ...
- vue项目中将后台返回的创建时间(时间戳格式)转换成日期格式
第一步:下载安装依赖包 npm install -save moment 第二步: 在main.js文件引入 1. import moment from 'moment' 其中还包含 2. //全局过 ...
- javaScript中将时间戳转换成日期格式
function DateFormt(time, format) { ); var o = { , "d+": testDate.getDate(), "h+" ...
- jqgrid 时间戳转换成日期格式
原文 :http://blog.csdn.net/caoyuancsdn/article/details/52984524 Java script 接收到的时间参数是时间戳*1000 functio ...
- [转] String to Date conversion in hive - 在 Hive 中各种字符串转换成日期格式
[From] http://bigdataprogrammers.com/string-date-conversion-hive/ Please refer below table to conver ...
随机推荐
- UIWebView取消长按放大(用于长按识别二维码)
禁用长按UIWebView时放大镜及选择功能: //通过js调用 - (void)webViewDidFinishLoad:(UIWebView*)webView { // Disable user ...
- Ext Sencha Cmd 6 环境安装
Sencha Cmd安装笔记 在使用前端框架ExtJs前,需对其环境加以部署,对自己的安装过程加以记录. 建议大家在安装时,最好使用VPN,个中缘由,生在跳槽的程序袁应该都懂吧.不然ruby相关命令执 ...
- zepto源码研究 - callback.js
简要:$.Callbacks是一个生成回调管家Callback的工厂,Callback提供一系列方法来管理一个回调列表($.Callbacks的一个私有变量list),包括添加回调函数, 删除回调函数 ...
- Websocket 与代理服务器如何交互? How HTML5 Web Sockets Interact With Proxy Servers
How HTML5 Web Sockets Interact With Proxy Servers Posted by Peter Lubberson Mar 16, 2010 With the re ...
- 通过 Xftp5 管理 centOS 7 文件
一. 在安装好了centOS 7 的服务上,打开终端 运行 ip -s addr 命令 获取服务的IP地址 [root@localhost ~]# ip -s addr1: lo: <LOOPB ...
- C语言基础文件读写操作
整理了一份C语言的文件读写件操作代码,测试时打开相应的注释即可. #include <stdio.h> #include <stdlib.h> #include <uni ...
- UI基础 - UINavigationController
如果导航控制器的BarButtonItem属性是一致的,可以重写initialize方法用来设置主题 //再ViewDidload执行前只执行一次 +(void)initialize { //创建的U ...
- asp.net(C#)写SQL语句技巧
/*添加SQL*/string fields = "";string values = "";fields += "xm"; values ...
- zoj 3785 What day is that day?
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5272 打表找规律. #include <cstdio> #incl ...
- RUBY,玩玩~~~
我觉得吧,这东瀛的红宝石,也得玩玩,毕竟,RUBY ON RAILS,PUPPET等也是一股力量. 作为混IT圈的,知道总没坏处. 就是感觉和C,C++,JAVA,C#,PHP,甚至PYTHON的感觉 ...