SYSTEMTIME 获取日期之差

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ATLComTime.h>
#pragma once
#pragma warning(disable:4996)

int CompareSystemTime(SYSTEMTIME &stStart, SYSTEMTIME &stEnd)
{//获取两个    SYSTEMTIME的日期之差
    COleDateTime m_tStartDate;
    COleDateTime m_tEndDate;
    m_tStartDate.SetDate(stStart.wYear, stStart.wMonth, stStart.wDay);
    m_tEndDate.SetDate(stEnd.wYear, stEnd.wMonth, stEnd.wDay);

    COleDateTimeSpan nDays = m_tEndDate - m_tStartDate;
    return (int)nDays.GetDays();
}

SYSTEMTIME GetDateAdded(SYSTEMTIME &stStart)
{//起始日期增加一天
    COleDateTime m_tStartDate;
    m_tStartDate.SetDate(stStart.wYear, stStart.wMonth, stStart.wDay);

    COleDateTimeSpan ts2(1);
    m_tStartDate += ts2;
    SYSTEMTIME stTemp;
    stTemp.wYear = m_tStartDate.GetYear();
    stTemp.wMonth = m_tStartDate.GetMonth();
    stTemp.wDay = m_tStartDate.GetDay();
    return stTemp;
}

//主函数
int main(void)
{
    SYSTEMTIME st, st1;
    st.wYear = 2014;
    st.wMonth = 12;
    st.wDay = 31;
    GetLocalTime(&st1);

    int nDays = CompareSystemTime(st, st1);
    printf("%d\n", nDays);

    st = GetDateAdded(st);
    printf("%d-%02d-%02d\n", st.wYear, st.wMonth, st.wDay);
    nDays = CompareSystemTime(st, st1);
    printf("%d\n", nDays);
    return 0;
}
时间: 2024-10-26 08:36:11

SYSTEMTIME 获取日期之差的相关文章

java中获取日期的差值

转载请注明出处,谢谢http://blog.csdn.net/harryweasley/article/details/42121485 当想到要计算差值,我们肯定想的是"2014.12.14"-"2014.12.20"=4,这种方法,但是java并没有直接给我们这样的方法,所以我想的是,将字符串转化为Date类型,继而又将 date转化为Calendar类型,通过Calendar.add()方法来解决这个方法. package lgx.java.test; imp

实例365(6)---------DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数

一:DateTime.ToString格式化日期,截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TmrFormat { public part

判断日期之差

function checkTime(){ var dateInp=$("#dateInp").val(); var day1=Date.parse(dateInp.replace(/-/g, "/")); var nowDate = new Date(); var dateStr = nowDate.getFullYear()+"/"+(nowDate.getMonth() + 1)+"/"+nowDate.getDate(

js获取日期:昨天今天和明天、后天 [转贴记录]

<html> <head> <meta http-equiv="Content-Type" content="textml; charset=utf-8"> <title>js获取日期:前天.昨天.今天.明天.后天 - Liehuo.Net</title> </head> <body> <script language="JavaScript" type=&

Js获取日期时间及其它操作

var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1970-????)myDate.getMonth();       //获取当前月份(0-11,0代表1月)myDate.getDate();        //获取当前日(1-31)myDate.getDay();         //获取当前星期X(0-6,0代表星期天)myDate.getTi

【记录】获取日期字符串

利用datetime中定义的date和timedelta,简单获取日期字符串的方法: #!/usr/bin/env python #-*- coding:utf-8 -*- #  from datetime import date, timedelta def getDateStr(n=0):     '''     获取格式为YYYYMMDD的日期字符串.     参数n为目标日期与当前日期的差     '''     ds = date.today() + timedelta(n)     

在PHP中获取日期和时间

PHP提供了多种获取时间和日期的函数,除了通过time()函数获取当前的UNIX时间戳外,调用getdate()函数确定当前时间,通过gettimeofday()函数获取某一天中的具体时间.此外,在PHP中还可以通过date_sunrise()和date_sunset两个函数,获取某地点某天的日出和日落时间. ①调用getdate()函数取得日期/时间信息 getdate()函数返回一个时间戳组成的关键数组,参数需要一个可选的UNIX时间戳.如果没有给出时间戳,则认为是当前本地时间.总共返回11

日期之差

日期之差 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情况. 输入格式 输入只有一行 YYYY MM DD 输出格式 输出只有一行 W 数据规模和约定 1599 <= YYYY <= 2999 1 <= MM <= 12 1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期 1 <= W <= 7,分别代表周一到周日 样例输入 2011 11

Windows批处理中获取日期和时间

编写Windows批处理时经常会需要使用到日期和时间作为文件名,所以是非常重要的. 如何获取日期呢?格式:  %date%结果:  2012-07-31 如何获取时间呢?格式:  %time%结果:  10:21:21.68 这是获取的系统标准格式的日期和时间,但是有时候我们需要使用规定的格式,怎么办呢? 格式:   %date:~x,y%以及%time:~x,y%说明:   x是开始位置,y是取得字符数 比如说我要获取完整的日期和时间,格式:   %date:~0,4%%date:~5,2%%