c語言如何比較時間大小,c語言 比大小

本文目錄一覽:

C語言的比較兩個時間的函數

1、方法一:若時間為結構體變數,比較兩個時間的大小,而且不能改變時間的值,可以是:

int timecmp(date_t* date1,date_t* date2)

{

if(date1- year==date1- year)

return memcmp(date1, date2,sizeof(date_t));

else

return date1- year-date2- year

}

2、方法二:

long getTimeInterval(const char *t1, const char *t2) {

struct tm tm1, tm2;

time_t start, end;

double diff;

memset(tm1, 0, sizeof(tm1));

memset(tm2, 0, sizeof(tm2));

strptime(t1, “%Y%m%d”, tm1);

start = mktime(tm1);

strptime(t2, “%Y%m%d”, tm2);

end = mktime(tm2);

diff = difftime(start, end);

return d2l(diff);

}

調用:

printf(“getTimeInterval=[%ld]\n”, getTimeInterval(“20101221”, “20110326”));

printf(“getTimeInterval=[%ld]\n”, getTimeInterval(“20101221”, “20990326”));

第一行輸出:[-8208000]

第二行輸出:[1292860801]

3、補充:C語言時間函數:

 (1)、獲得日曆時間函數:

可以通過time()函數來獲得日曆時間(Calendar Time),其原型為:time_t time(time_t * timer);

 

 如果已經聲明了參數timer,可以從參數timer返回現在的日曆時間,同時也可以通過返回值返回現在的日曆時間,即從一個時間點(例如:1970年

1月1日0時0分0秒)到現在此時的秒數。如果參數為空(NUL),函數將只通過返回值返回現在的日曆時間,比如下面這個例子用來顯示當前的日曆時間:

(2)、獲得日期和時間函數:

這裡說的日期和時間就是平時所說的年、月、日、時、分、秒等信息。從第2節我們已經知道這些信息都保存在一個名為tm的結構體中,那麼如何將一個日曆時間保存為一個tm結構的對象呢?

其中可以使用的函數是gmtime()和localtime(),這兩個函數的原型為:

struct tm * gmtime(const time_t *timer);

struct tm * localtime(const time_t * timer);

 

 其中gmtime()函數是將日曆時間轉化為世界標準時間(即格林尼治時間),並返回一個tm結構體來保存這個時間,而localtime()函數是將

日曆時間轉化為本地時間。比如現在用gmtime()函數獲得的世界標準時間是2005年7月30日7點18分20秒,那麼用localtime()函數

在中國地區獲得的本地時間會比世界標準時間晚8個小時,即2005年7月30日15點18分20秒。

用c語言比較當前系統日期與我輸入的日期大小怎麼寫代碼?

#include time.h

#include stdio.h

void main(void)

{

time_t timep;

struct tm *p;

int in_time[3];

int now_time[3];

int i;

printf(“輸入年-月-日: “);

scanf(“%d-%d-%d”, in_time[0], in_time[1], in_time[2]);

time (timep);

p=gmtime(timep);

now_time[0]=1900+p-tm_year;

now_time[1]=1+p-tm_mon;

now_time[2]=p-tm_mday;

for(i=0;i3;i++)

if(in_time[i]now_time[i]) 

{

printf(“你輸入的日期大\n”);

break;

}

else if(in_time[i]now_time[i]) 

{

printf(“你輸入的日期小\n”);

break;

}

else 

continue;

if(i==3)

printf(“兩個日期一樣大\n”);

// printf(“%d\n”,p-tm_sec); /*獲取當前秒*/

// printf(“%d\n”,p-tm_min); /*獲取當前分*/

// printf(“%d\n”,8+p-tm_hour);/*獲取當前時,這裡獲取西方的時間,剛好相差八個小時*/

// printf(“%d\n”,p-tm_mday);/*獲取當前月份日數,範圍是1-31*/

// printf(“%d\n”,1+p-tm_mon);/*獲取當前月份,範圍是0-11,所以要加1*/

// printf(“%d\n”,1900+p-tm_year);/*獲取當前年份,從1900開始,所以要加1900*/

// printf(“%d\n”,p-tm_yday); /*從今年1月1日算起至今的天數,範圍為0-365*/

}

C語言下如何獲得當前時間,並顯示出來 然後比較兩個時間的大小

#include

//c語言的頭文件

#include

//c語言的i/o

void

main()

{

time_t

now;

//實例化time_t結構

struct

tm

*timenow;

//實例化tm結構指針

time(now);

//time函數讀取現在的時間(國際標準時間非北京時間),然後傳值給now

timenow

=

localtime(now);

//localtime函數把從time取得的時間now換算成你電腦中的時間(就是你設置的地區)

printf(“local

time

is

%s\n”,asctime(timenow));

//上句中asctime函數把時間轉換成字元,通過printf()函數輸出

}

注釋:time_t是一個在time.h中定義好的結構體。而tm結構體的原形如下:

struct

tm

{

int

tm_sec;

int

tm_min;

int

tm_hour;

int

tm_mday;

int

tm_mon;

int

tm_year;

int

tm_wday;

int

tm_yday;

int

tm_isdst;

};

C語言如何比較時間的大小?

用字元串比較函數strcmp()

#includestdio.h

#include”string.h”

void main()

{

int n;

n=strcmp(“2010-04-30″,”2010-05-02”);//再根據n進行判斷

printf(“%d”,n);

}

C語言寫的比較時間大小的程序

#include stdio.h

main()

{

int h,m,h1,m1,h2,m2;

printf(“請輸入時間1:”);

scanf(“%d,%d”,h1,m1);

printf(“請輸入時間2:”);

scanf(“%d,%d”,h2,m2);

if (h1h2)

{

if (m1m2)

{

m=m1-m2;

h=h1-h2;

}

else

{

m=m1+60-m2;

h=h1-h2-1;

}

}

else

{

if (m1m2)

{

m=m2+60-m1;

h=h2-h1-1;

}

else

{

m=m2-m1;

h=h2-h1;

}

}

printf(“差額時間:%d:%d”,h,m);

}

C語言判斷兩個日期大小

程序沒有問題,可以正確輸出較大的數(特別注意一點:由於你的scanf()中的格式控制符是用逗號分隔的,所以在輸入數字時也要用逗號分隔),至於你說的「穩定顯示出來…執行完畢後按任意鍵繼續」這個問題只需要包含頭文件stdlib.h之後在main()結尾,return

0;之前加上system(“pause”);即可,原程序按此做如下修改:

//—————————————————————————

#include

#include

int

main(void)

{

int

x,y,max;

printf(“please

input

x,y=”);

scanf(“%d,%d”,x,y);

if(xy)

max=x;

else

max=y;

printf(“the

max

is=%d\n”,max);

system(“pause”);

return

0;

}

//—————————————————————————

原創文章,作者:VJOD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141214.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VJOD的頭像VJOD
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Akka 設置郵箱大小的方法和注意事項

    為了保障系統的穩定性和可靠性,Akka 允許用戶設置郵箱大小。本文將介紹如何在 Akka 中設置郵箱大小,並且提供一些注意事項,以幫助讀者解決可能遇到的問題。 一、設置郵箱大小 A…

    編程 2025-04-28
  • 想把你和時間藏起來

    如果你覺得時間過得太快,每天都過得太匆忙,那麼你是否曾經想過想把時間藏起來,慢慢享受每一個瞬間?在這篇文章中,我們將會從多個方面,詳細地闡述如何想把你和時間藏起來。 一、一些時間管…

    編程 2025-04-28

發表回復

登錄後才能評論