VC有一个计算两个日期之间的函数是啥我想不起来了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC有一个计算两个日期之间的函数是啥我想不起来了相关的知识,希望对你有一定的参考价值。

谢谢有知道的告诉下 开头是 Diff我记得 但不是difftime 函数 那个函数不是C的库 应该是一个API函数 我想不起来了 谁告诉下 MSDN 里有但是我查不到不知道是什么啊 以前用过 就是想不起来............

参考技术A C语言函数difftime
功 能:返回两个time_t型变量之间的时间间隔,即 计算两个时刻之间的时间差。
用 法: double difftime(time_t time2, time_t time1);
头文件:time.h

程序例1:(在vc++6.0中运行通过) 
#include <time.h>
#include <stdio.h>
#include <process.h>
#include <windows.h>
int main(void)

time_t first, second;
system("cls");
first = time(NULL);
Sleep(2000);
second = time(NULL);
printf("The difference is: %f seconds\n",difftime(second,first));
return 0;

以上是百度百科.

或者你可以使用:
COleDateTime类.

COleDateTime curTime;

curTime = COleDateTime::GetCurrentTime();

sleep(1000);
COleDateTimeSpan Timespan = curTime - COleDateTime::GetCurrentTime();

int iSpand = Timespan.GetTotalSeconds();//以秒为单位.
你也可以调用
Timespan.GetTotalDays();
Timespan.GetTotalHours();
Timespan.GetTotalMinutes();
参考技术B (1)我注释掉确定的日期的合法性的声明中无法判断,总是提示非法的;
- 错误:因为你的背后,如果直接用分号括号。但是,这一般的编译器会提示一个警告,而不是错误。
2,为什么在程序结束后,立即打印出。
- 返回0以上运行程序的过程。如果你想看到的结果与按??Ctrl + F5运行,或之前加了回报:系统(“暂停”);
参考技术C (1)无法判断,我注释掉的声明的日期来决定的合法性,总是提示非法的;
- 错误:你的背后,如果直接用分号括号中。然而,这种编译器会提示一个警告而不是错误。

2,为什么立即结束后的程序打印出。
- 回报的过程中运行的程序大于0。如果你想看到的结果吗?按Ctrl + F5运行,或之前加了回报:系统(“暂停”);

计算两个日期之间的第一个星期一有多少个

【中文标题】计算两个日期之间的第一个星期一有多少个【英文标题】:Calculate how many Monday the 1st between two dates 【发布时间】:2015-09-01 04:56:14 【问题描述】:

是否可以?

我使用 C++ 编写了两个函数来计算两个日期之间的天数:

int rdn(int y, int m, int d) 
    if (m < 3)  y--, m += 12; ;
    return 365*y + y/4 - y/100 + y/400 + (153*m - 457)/5 + d - 306;


int days = rdn(2015, 01, 01) - rdn(2015, 12, 31);

使用 Python:

def days_between(d1, d2):
    d1 = datetime.strptime(d1, "%Y-%m-%d")
    d2 = datetime.strptime(d2, "%Y-%m-%d")
    return abs((d2 - d1).days)

print(days_between('2015-01-01', '2015-12-31'))

但我不明白如何更新我的函数来计算星期一的第一天。

【问题讨论】:

你试过什么?您可以使用万年历 (en.wikipedia.org/wiki/Perpetual_calendar)。这不只是数数的问题吗? 如果您知道 1 月 1 日是工作日,那么确定任何日期的工作日是微不足道的。实际上,如果您知道当年的任何 个工作日,那么计算该年任何其他日子的工作日是微不足道的。您可以轻松地将其扩展到过去或未来的任何年数。见mischel.com/diary/2005/08/08.htm。 我投票决定将此问题作为题外话结束,因为这是正在进行的编程竞赛:hackerrank.com/contests/w17/challenges/count-fridays-the-13-th,解决方案将在 7 天内提供。这个人不关心知识,只关心得分。 @SalvadorDali 我在 Python 中使用日历模块解决了问题。我是算法新手,我学习了。尝试使用此问题的答案来解决hackerrank 问题。你可以?不。而且,在此之前,请仔细思考并阅读主题。非常感谢。 @SalvadorDali 我可以向您展示我的解决方案。你不会找到一行类似的代码。 【参考方案1】:

这个算法是一个循环,检查从开始日期(含)到结束日期(含)每个月的第一个工作日,并计算在星期一的那些:

import datetime

def num_monday_the_first_between(start, end):
    y, m, d = start.year, start.month, 1
    count = 0
    while (y, m, d) <= (end.year, end.month, end.day):
        if datetime.date(y, m, d).isoweekday() == 1:
            count += 1
        m += 1
        if m == 13:
            m = 1
            y += 1
    return count


print(num_monday_the_first_between(datetime.date(2015,1,1), datetime.date(2015,12,31)))
# Result: 1 (June)

【讨论】:

好直接的答案:)即使它不是最短的可能 请删除你的答案,因为这个问题来自正在进行的编程竞赛。

以上是关于VC有一个计算两个日期之间的函数是啥我想不起来了的主要内容,如果未能解决你的问题,请参考以下文章

在mysql查询中使用php time()函数计算两个日期之间的差异

我正在使用 laravel,我想计算控制器中存储函数中两个日期之间的天数并自动显示在索引视图中

如何写计算两个日期之间的天数函数

如何重写我的 swift 代码,以便它还考虑计算两个日期之间的差异,当一个日期在未来时?

评估两个日期之间的工资的功能,按比例应用于部分月份

Java获取两个日期之间的天数[重复]