C ++はどのように現在のシステム時刻を取得しますか?
1、現在の時間を取得するために、cmdの関数を呼び出します
この方法は、直接使用するCMDコマンドで、システム時刻を変更する方法を取得するので、このモジュールは、特に問題ではありません
しかし、このプログラムは、彼らがLenovoのヤン日かかったので、当然のことながら、非常に簡単に、トロイの木馬ウイルスと間違われるシステムにいくつかの変更を伴うため、あなたが、アンチウイルスソフトウェアで、特に、それらを使用することを示唆していない、設備容量が来るマイクフィリピンでは、あなたのようにではない、直接閉鎖のシステムを変更するいくつかのプログラムと会っ360のアンチウイルストロイの木馬ブラックリストの最初のプログラムに含まれていますが、プログラムではその騒ぎ、最初の外観を実行するために自分自身を強制することができます。
#include <stdlib.h>
using namespace std;
int main()
{
system("time");
return 0;
}
もちろん、私はここでは、コマンドシステムの話すことはありません、私たちは、あなたが私の他のブログ記事を参照することができ、必要があります:CMDコマンド方式でのC ++の呼び出し
私はこのプログラムを実行した後に効果を示すためにここでそれを取得しようとしました:
2、識別システムのAPIは、現在の時刻を取得します
システムは、内部の使用APIの現在時刻を取得するためには、私のお気に入りの使用であり、それがないだけで良いですが、背の高いですの!エヘンは、申し訳ありませんが、間違っては、次のようになります。それだけでなく、使いやすいですし、正確なだけでなく、非常に簡単に理解することが、あるためこれは、白があったことがない初心者のためである福音を!
プログラムで直接見えること:
#include <stdio.h>
#include <windows.h>
using namespace std;
int main()
{
SYSTEMTIME sys;
GetLocalTime(&sys);
printf("%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute, sys.wSecond,sys.wMilliseconds,sys.wDayOfWeek);
return 0;
}
ここで私が思う、見てする必要があり、sys.wYearはここに英語ですべての単語の前にプラスしているので、上の週の曜日があるsys.wDayOfWeek、するための図であり、コマンド「w」の小文字は、この関数を呼び出すことです
その後、我々は絵を見て:
もちろん、ジュニアパートナーは、気配りができますこのスタイルは、プログラムには影響しません出力を制御することであるため、いくつかの空間内の最終結果のprintfと「/」これらの事我々はすべて、変更することができます以下このチャート上のように:
最後に、以上1口より:時間が取得したAPIコマンドは、直接変数を直接使用することができるかどうか、すなわち、変数として格納することができます
例えば、つい最近完成したプログラムで、私は時間を取得するためのAPIコマンドを使用して、int型の変数として定義され、最終的には裁判官の機能を実現~~
3、システム時刻への直接アクセス
一つの方法法律は、ダイレクトアクセスを理解することはより困難であるが、それは、Aと呼ばれ、一度それを使用します妨げられていませんしかし、この方法は、最終的にどのようにそれを理解することは難しいですか?
アナロジー:100メートルの木、日中は毎日があり、あなたが夜に2センチ上昇することができ、あなたが一日だけで1センチメートルによって上昇することができ、と言うことですスワップ1センチメートル、したいのですが、木は今どのくらい100メートルの明確な高さ、計算され私はその中の日数は本当に場合、ない簡単なだけで数怖い場合日、そして自分を想像します
小さなパートナーの挑戦のためのその愛が、これは間違いなくAであります絶好の機会私たちは、コードそれを見なければならないこと!
#include<iostream>
#include<time.h>
using namespace std;
int main()
{
//获取系统时间
time_t now_time=time(NULL);
//获取本地时间
tm* t_tm = localtime(&now_time);
//转换为年月日星期时分秒结果,如图:
printf("local time is : %s\n", asctime(t_tm));
//将时间转换为秒
time_t mk_time = mktime(t_tm);
//也可以自己定义一个时间
//定义截止时间
struct tm deadline_tm;
deadline_tm.tm_sec=0;//[0~59]
deadline_tm.tm_min=10;//[0~59]
deadline_tm.tm_hour=13;//[0~23]
deadline_tm.tm_isdst=0;//default
deadline_tm.tm_mday=31;//[1~31]
deadline_tm.tm_mon=2;//[0~11]
}
多くの小規模パートナーは、私には、とても多くのコードとコメントを参照してください、万通の骨ステッカー付きスカルの痛みの速いです!EMM。。。(突然、植込み型広告のような感じ)が、ありません頭蓋骨を引き出し、私たちは、このコードの解釈を見てみましょう:
最初は、ヘッダファイルです。
#include<iostream>
#include<time.h>
これは説明するのは、あまりにも多くを持つべきではない、通常の2つのヘッダファイルがあります
時間の2種類を取得することによって、その後:
- システム時刻を取得する1
- 2、ローカルタイムを取得
//获取系统时间
time_t now_time=time(NULL);
//获取本地时间
tm* t_tm = localtime(&now_time);
私は現在の時刻を取得する唯一の1時間を取得しようとしましたが、私のコンピュータは何のように実行しないが、私たちは、例えば、コメント期間を試すことができ、それは実際には、あるものを使用これらの二つの取得時間、つまり、などしかし、ここで私はそれを皆に思い出させるしたいと思います:ある時間相関、ではなく、今回の2種類があり、その後、次の時間は、あなたが操作する関数を実行することはできません
//转换为年月日星期时分秒结果,如图:
printf("local time is : %s\n", asctime(t_tm));
//将时间转换为秒
time_t mk_time = mktime(t_tm);
これは、出力バックが他の視覚化を容易にするために、変換動作とモジュールのちょうど部分です。。。(私たちは〜私は理解していないものを、モジュールの動作が何かで変換しようとすることはできません)
最後に、モジュールの最後について話:
//定义截止时间
struct tm deadline_tm;
deadline_tm.tm_sec=0;//[0~59]
deadline_tm.tm_min=10;//[0~59]
deadline_tm.tm_hour=13;//[0~23]
deadline_tm.tm_isdst=0;//default
deadline_tm.tm_mday=31;//[1~31]
deadline_tm.tm_mon=2;//[0~11]
この私が理解していない、ただAこの時間は、それだけで60進数であることをコンパイラーに指示します!突然コンピュータが「賢いバカ」である感じ
さて、今日の内容ということ、それから、私はより多くの記事を見るために私のブログに私のブログ、歓迎の注意を更新していきます!また、コミュニティで自分自身の経験の一部を公開することを歓迎し、CSDNの中に発見!さようなら!