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的比较还有转换成日期格式。的更多相关文章

  1. js angular 时间戳转换成日期格式 年月日 yyyy-MM-dd

    昨天写项目,要把时间戳转换成日期格式发给后端 我就去网上找 看到的一些都不是我想要的 索性自己就写了一个如图 下面是angular 模式 $scope.getMyDate = function(str ...

  2. js将时间戳转换成日期格式-陈远波

    var timestamp =1539598555000;//时间戳 //时间戳转换成time格式function timestampToTime(timestamp) { var date = ne ...

  3. js 将long型字符串转换成日期格式

    工作中难免会碰到日期的转换,往往为了方便,后台都是把时间以long型(形如1343818800000)返回给web前端.再有前端自己根据页面需求转换成相应的日期格式.这里将我常用的一个转换时间的函数贴 ...

  4. 让用户输入一个日期字符串,将其转换成日期格式, 格式是(yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd)中的一种, 任何一种转换成功都可以; 如果所有的都无法转换,输出日期格式非法。

    第三种方法 while(true) {             Date d;        System.out.println("正在进行第一次匹配,请稍后~—~");     ...

  5. Java毫秒转换成日期格式

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ...

  6. vue项目中将后台返回的创建时间(时间戳格式)转换成日期格式

    第一步:下载安装依赖包 npm install -save moment 第二步: 在main.js文件引入 1. import moment from 'moment' 其中还包含 2. //全局过 ...

  7. javaScript中将时间戳转换成日期格式

    function DateFormt(time, format) { ); var o = { , "d+": testDate.getDate(), "h+" ...

  8. jqgrid 时间戳转换成日期格式

    原文 :http://blog.csdn.net/caoyuancsdn/article/details/52984524 Java script  接收到的时间参数是时间戳*1000 functio ...

  9. [转] String to Date conversion in hive - 在 Hive 中各种字符串转换成日期格式

    [From] http://bigdataprogrammers.com/string-date-conversion-hive/ Please refer below table to conver ...

随机推荐

  1. css3中-webkit-text-size-adjust详解

    1.当样式表里font-size<12px时,中文版chrome浏览器里字体显示仍为12px,这时可以用 html{-webkit-text-size-adjust:none;} 2.-webk ...

  2. SVN设置钩子文件限制提交文件时必须填写更新日志

    进入相应SVN仓库hooks目录,编辑文件pre-commit #!/bin/sh # PRE-COMMIT HOOK## The pre-commit hook is invoked before ...

  3. Swift - 30 - 可变参数

    //: Playground - noun: a place where people can play import UIKit // 可变参数一定要放在所有定义参数的最后面, 和其他参数的定义方式 ...

  4. C# trace debug TraceListener调试信息详解

    在C#编程中,可能要碰到把调试信息输出的问题,我们可以自己把信息显示在某个控件上,但是MS自己提供了一套机制帮助我们输出一些调试信息,这些信息有助于我们判断程序的走向,不用自己再去额外写调试代码了. ...

  5. jQuery获取JSON格式数据方法

    getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...

  6. jquery ajax (2)实例 .GET

    1js 代码 $(function(){ $("#send").click(function(){ $.get("get3.php", { username : ...

  7. 2015 偶数求和 AC 杭电

    偶数求和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  8. javaWeb中一个按钮提交两个表单

    一个按钮提交两个表单,有时候会用到,一般会很容易想到使用 onclick="document.form1.submit();document.form2.submit();" 的方 ...

  9. iOS开发网络篇—XML数据的解析

     iOS开发网络篇—XML数据的解析 iOS开发网络篇—XML介绍 一.XML简单介绍 XML:全称是Extensible Markup Language,译作“可扩展标记语言” 跟JSON一样,也是 ...

  10. express+jade+bootstrap+mongdb simple CRUD test

    1:当前环境 y@y:~$ node --version && express -V && mongo --version v0.12.2 MongoDB shell ...