社区
C语言
帖子详情
时间间隔问题
54286
2004-07-23 09:30:34
小弟初学C语言,不知道算两个日期之间
隔了多少天用什么现成的函数啊!
...全文
218
3
打赏
收藏
时间间隔问题
小弟初学C语言,不知道算两个日期之间 隔了多少天用什么现成的函数啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
renheihei
2004-07-24
打赏
举报
回复
下面这个头文件加到程序中,直接就可以用了
//: C09:Cpptime.h
// A simple time class
#ifndef CPPTIME_H
#define CPPTIME_H
#include <ctime>
#include <cstring>
class Time {
std::time_t t;
std::tm local;
char asciiRep[26];
unsigned char lflag, aflag;
void updateLocal() {
if(!lflag) {
local = *std::localtime(&t);
lflag++;
}
}
void updateAscii() {
if(!aflag) {
updateLocal();
std::strcpy(asciiRep,std::asctime(&local));
aflag++;
}
}
public:
Time() { mark(); }
void mark() {
lflag = aflag = 0;
std::time(&t);
}
const char* ascii() {
updateAscii();
return asciiRep;
}
// Difference in seconds:
int delta(Time* dt) const {
return int(std::difftime(t, dt->t));
}
int daylightSavings() {
updateLocal();
return local.tm_isdst;
}
int dayOfYear() { // Since January 1
updateLocal();
return local.tm_yday;
}
int dayOfWeek() { // Since Sunday
updateLocal();
return local.tm_wday;
}
int since1900() { // Years since 1900
updateLocal();
return local.tm_year;
}
int month() { // Since January
updateLocal();
return local.tm_mon;
}
int dayOfMonth() {
updateLocal();
return local.tm_mday;
}
int hour() { // Since midnight, 24-hour clock
updateLocal();
return local.tm_hour;
}
int minute() {
updateLocal();
return local.tm_min;
}
int second() {
updateLocal();
return local.tm_sec;
}
};
#endif // CPPTIME_H ///:~
qingyuan18
2004-07-24
打赏
举报
回复
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
int year,month,day;
int years[2]={365,366};
int months[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
int isp(int year)
{
if((year%4==0&&year%100!=0)||year%400==0)
return 1;
else return 0;
}
void get_char(char *str)
{
char temp[10]={0};
char *p;
int i=0,j=0;
int a[3]={0};
if((p=strchr(str,'-'))!=NULL)
{
p=str;
while(*p)
{
temp[i++]=*p++;
if(*p=='-')
{
temp[i]=0;
i=0;
a[j++]=atoi(temp);
p++;
}
if(*p==0)
{
temp[i]=0;
i=0;
a[j++]=atoi(temp);
}
}
}
if((p=strchr(str,'/'))!=NULL)
{
p=str;
while(*p)
{
temp[i++]=*p++;
if(*p=='/')
{
temp[i]=0;
i=0;
a[j++]=atoi(temp);
p++;
}
if(*p==0)
{
temp[i]=0;
i=0;
a[j++]=atoi(temp);
}
}
}
year=a[0];
month=a[1];
day=a[2];
}
int get_data(int year,int month,int day)
{
int count=0;
int i;
for(i=1900;i<year;i++)
count=count+years[isp(year)];
for(i=1;i<month;i++)
count=count+months[isp(year)][i];
for(i=1;i<day;i++)
count=count++;
return count;
}
void main()
{
char flag;
int count1=0,count2=0;
int result;
char str[10]={0};
printf("该程序能识别'-'和'/'两种格式的daytime\n");
while(1)
{
printf("输入第一个时间值:\t\n");
gets(str);
fflush(stdin);
get_char(str);
count1=get_data(year,month,day);
memset(str,0,10);
year=0;month=0;day=0;
printf("输入第二个时间值\n");
gets(str);
fflush(stdin);
get_char(str);
count2=get_data(year,month,day);
result=count1-count2;
printf("时间间隔是%d\n",result);
printf("还要继续么[y/n]\n");
scanf("%c",&flag);
fflush(stdin);
if(flag=='n'||flag=='N')
break;
}
}
ma100
2004-07-24
打赏
举报
回复
double difftime( time_t timer1, time_t timer0 );
返回两个日期相差的秒
然后,楼主自己算吧
间隔
问题
(
时间
间隔
,日期
间隔
等)
思路 对于求
间隔
问题
,一般都可以利用通法:选取共同起点+取模运算 例题一 :
时间
间隔
/* 每组数据输出一行,表示最少经过的分钟数。 输入样例 2 7:00 7:00 7:00 8:00 输出样例 0 60 */ #include <bits/stdc++.h> using namespace std; int main() { int T; scanf("%d",&T...
JavaScript 之 动态改变setInterval的
时间
间隔
问题
setInterval的
时间
间隔
一般设定的为一个常量,但是实际场景中我们有时候需要动态替换掉这个
时间
间隔
那么该怎么处理呢? 定时器的
时间
间隔
是不能修改的,只能不停的创建,清除,创建。做出
时间
间隔
变换的表象 使用函数表达式和递归实现 错误❌示范: var t = 500; var set = s...
1015: 计算
时间
间隔
C语言
1015: 计算
时间
间隔
时间
限制: 1 Sec 内存限制: 30 MB 提交: 47392 解决: 24716 [状态] [讨论版] [提交] [命题人:admin] 题目描述 读入两个用“时:分:秒”表示的
时间
点,计算以秒为单位的
时间
间隔
。 输入 输入有两行,每行是一个用“时:分:秒”表示的
时间
点。测试数据保证第二个
时间
点晚于第一个
时间
点。 输出 输出一个整数,表示
时间
间隔
的秒数。 样例输入 Copy 08:00:00 09:00:00 样例输出 Copy 3600 提示 输入数据中带有普通字符,如
C语言:计算两个
时间
的
时间
间隔
C语言实验题――
时间
间隔
描述 从键盘输入两个
时间
点(同一天,24小时制),输出两个
时间
点之间的
时间
间隔
,
时间
间隔
用“小时:分钟:秒”表示。 输入 输入包括两行。 第一行为
时间
点1。 第二行为
时间
点2。 输出 以“小时:分钟:秒”的格式输出
时间
间隔
。 格式参看输入输出。 样例输入 样例输出 #include<stdio.h> typedef struct Time...
串口通信,帧与帧之间的
时间
间隔
问题
?9600波特率,帧将各在20ms以上
C语言
69,380
社区成员
243,074
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章