C++實(shí)現(xiàn)當(dāng)前時(shí)間動(dòng)態(tài)顯示的方法
本文實(shí)例講述了C++實(shí)現(xiàn)當(dāng)前時(shí)間動(dòng)態(tài)顯示的方法。分享給大家供大家參考。具體如下:
/* 24-06-10 10:44
動(dòng)態(tài)顯示時(shí)間 但不是最優(yōu)的 功能很單一
本程序關(guān)鍵是對(duì)時(shí)鐘函數(shù)的使用
**tm結(jié)構(gòu)定義了 年、月、日、時(shí)、分、秒、星期、當(dāng)年中的某一天、夏令時(shí)
**用localtime獲取當(dāng)前系統(tǒng)時(shí)間,該函數(shù)將一個(gè)time_t時(shí)間轉(zhuǎn)換成tm結(jié)構(gòu)表示的時(shí)間,函數(shù)原型:
struct tm * localtime(const time_t *)
**使用gmtime函數(shù)獲取格林尼治時(shí)間,函數(shù)原型:
struct tm * gmtime(const time_t *) 包含的頭文件是time.h */
//struct tm {
// int tm_sec; /* seconds after the minute - [0,59] */
// int tm_min; /* minutes after the hour - [0,59] */
// int tm_hour; /* hours since midnight - [0,23] */
// int tm_mday; /* day of the month - [1,31] */
// int tm_mon; /* months since January - [0,11] */
// int tm_year; /* years since 1900 */
// int tm_wday; /* days since Sunday - [0,6] */
// int tm_yday; /* days since January 1 - [0,365] */
// int tm_isdst; /* daylight savings time flag */
// };
#include <iostream>
#include <time.h>
#include "dos.h"
#include <windows.h>
using namespace std;
int main()
{
char *myweek[]={"日","一","二","三","四","五","六"};
time_t nowtime; //typedef long time_t;在編譯器定義的頭文件中
nowtime = time(NULL); //獲取當(dāng)前時(shí)間 此時(shí)它是用一個(gè)長整形表示的
struct tm *local; /*時(shí)間結(jié)構(gòu)體變量*/
local = localtime(&nowtime); //獲取當(dāng)前系統(tǒng)時(shí)鐘
while (1)
{
cout<<"當(dāng)前時(shí)間:";
cout<<local->tm_year+1900<<"年"<<local->tm_mon+1<<"月"<<local->tm_mday<<"日"<<" ";
cout<<local->tm_hour<<"時(shí)"<<local->tm_min<<"分"<<local->tm_sec<<"秒"<<" ";
cout<<"星期"<<myweek[local->tm_wday]<<endl;
/* 對(duì)當(dāng)前時(shí)間進(jìn)行判斷 讓它動(dòng)態(tài)變化
*/
if(local->tm_sec==59 && local->tm_min!=59)
//當(dāng)秒到59,分未到59時(shí) 分鐘加1,秒清0
{
local->tm_min++;
local->tm_sec=0;
}
//當(dāng)秒和分都為59 時(shí)不為23時(shí) ,秒和分鐘都清0,時(shí)鐘加1
else if(local->tm_sec==59 && local->tm_min==59 && local->tm_hour!=23)
{
local->tm_min=0;
local->tm_sec=0;
local->tm_hour++;
}
//當(dāng)秒和分都為59 時(shí)為23時(shí) ,秒,分鐘和時(shí)鐘都清0
else if(local->tm_sec==59&&local->tm_min==59&&local->tm_hour==23)
{
local->tm_sec=0;
local->tm_min=0;
local->tm_hour=0;
}
else //其它情況秒鐘進(jìn)行不斷加1
{
local->tm_sec++;
}
Sleep(1000); /*Sleep()里面的單位,是以毫秒為單位,
system("cls"); /*清屏命令 出現(xiàn)動(dòng)態(tài)顯示*/
}
system("pause");
return 0;
}
希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。
- C++自定義函數(shù)判斷某年某月某日是這一年中第幾天
- C++實(shí)現(xiàn)兩個(gè)日期間差多少天的解決方法
- C++時(shí)間戳轉(zhuǎn)換成日期時(shí)間的步驟和示例代碼
- C++ boost 時(shí)間與日期處理詳細(xì)介紹
- C++實(shí)現(xiàn)日期類(Date類)的方法
- C++獲取當(dāng)前系統(tǒng)時(shí)間的方法總結(jié)
- C++中獲取UTC時(shí)間精確到微秒的實(shí)現(xiàn)代碼
- C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法
- VC++ 獲取系統(tǒng)時(shí)間的方法匯總
- C++取得當(dāng)前時(shí)間的方法
- C++基于蔡基姆拉爾森計(jì)算公式實(shí)現(xiàn)由年月日確定周幾的方法示例
相關(guān)文章
C語言鏈表實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語言鏈表實(shí)現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
C++實(shí)現(xiàn)LeetCode(122.買股票的最佳時(shí)間之二)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(122.買股票的最佳時(shí)間之二),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法
這篇文章主要介紹了C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法,涉及網(wǎng)絡(luò)程序設(shè)計(jì)與系統(tǒng)函數(shù)的使用,需要的朋友可以參考下2014-10-10
C++實(shí)現(xiàn)自定義撤銷重做功能的示例代碼
在使用c++做界面開發(fā)的時(shí)候,尤其是實(shí)現(xiàn)白板功能時(shí)需要自己實(shí)現(xiàn)一套撤銷重做功能.如果是qt則有QUndoable對(duì)象,可以直接拿來用。但是如果是使用gdi繪圖,則可能需要自己實(shí)現(xiàn)了。本文就來用C++實(shí)現(xiàn)自定義撤銷重做功能,需要的可以參考一下2022-12-12
Qt創(chuàng)建SQlite數(shù)據(jù)庫的示例代碼
本文主要介紹了Qt創(chuàng)建SQlite數(shù)據(jù)庫的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
淺析C++中memset,memcpy,strcpy的區(qū)別
本篇文章是對(duì)C++中memset,memcpy,strcpy的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
C++訪問Redis的mset 二進(jìn)制數(shù)據(jù)接口封裝方案
這篇文章主要介紹了C++訪問Redis的mset 二進(jìn)制數(shù)據(jù)接口封裝方案的相關(guān)資料,需要的朋友可以參考下2015-07-07
簡單掌握桶排序算法及C++版的代碼實(shí)現(xiàn)
桶排序是將要排序的算法按桶分組排序之后再遍歷匯總的一種線性排序算法,下面就讓我們來通過小例子簡單掌握桶排序算法及C++版的代碼實(shí)現(xiàn)^^2016-07-07

