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 ...
随机推荐
- ASPNET5的依赖注入
ASP.NET5设计的时候就是以DI为基础的,它可以利用内建的框架在Startup类的方法中,把依赖注入进去.应用服务也可以被配置的注入.默认的服务容器提供一些基本的功能,它并不打算代替现代主流的DI ...
- C++ 性能剖析 (三):Heap Object对比 Stack (auto) Object
通常认为,性能的改进是90 ~ 10 规则, 即10%的代码要对90%的性能问题负责.做过大型软件工程的程序员一般都知道这个概念. 然而对于软件工程师来说,有些性能问题是不可原谅的,无论它们属于10% ...
- 【USACO 2.4.1】两只塔姆沃斯牛
[题目描述] 两只牛逃跑到了森林里.农夫John开始用他的专家技术追捕这两头牛.你的任务是模拟他们的行为(牛和John). 追击在10x10的平面网格内进行.一个格子可以是: 一个障碍物, 两头牛(它 ...
- Windows Phone中使用Storyboard做类似 IOS 屏幕小白点的效果
windows phone中做动画其实很方便的,可以使用Blend拖来拖去就做出一个简单的动画,下面做了一个 ios屏幕小白点的拖动效果,包括速度判断移动 使用Blend生成以下代码 <Stor ...
- Extjs中Chart利用series的tips属性设置鼠标划过时显示数据
效果如下: 从官网找到的例子,大家参考下吧.源码: Ext.require('Ext.chart.*'); Ext.require('Ext.layout.container.Fit'); Ext.o ...
- 获取当前元素节点的position和宽高(兼容)
function objxy(n){ var o=document.getElementById(n),x=0,y=0,w=o.offsetWidth,h=o.offsetHeight if(o.ge ...
- javascript写的ajax请求
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...
- Spark On YARN内存分配
本文转自:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 此文解决了Spark ...
- ctags使用详解(转载)
一. ctags是干什么的 ctags的功能:扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来. 我用的是Exuberant Ctags,在Windows上使用,就 ...
- 10个Java面试题及答案
1. 什么是JVM? 为什么称Java为跨平台的编程语言? Java虚拟机(Java Virtual Machine)是可以执行Java字节码的虚拟机,每个Java源文件将被编译成字节码文件,然后在J ...