Linux で time(NULL) 関数と localtime() を使用して現在の時刻を取得する方法

Linux で time(NULL) 関数と localtime() を使用して現在の時刻を取得する方法

time(); 関数

関数プロトタイプ: time_t time(time_t *timer)
関数の目的: マシンのカレンダー時間を取得するか、カレンダー時間を設定する ヘッダーファイル: time.h
入力パラメータ: timer=NULL の場合、マシンのカレンダー時間が取得されます。time=時間値の場合、カレンダー時間を設定するために使用されます。
time_tはlong型です

/* time - コンピュータシステムの現在のカレンダー時刻を取得します
 * 日付と時刻を処理する関数は、この関数の戻り値に基づいて計算されます*
 * 関数プロトタイプ:
 * #include <time.h>
 * 
 * time_t 時間(time_t *calptr);
 *
 * 戻り値:
 * 成功: 1970-1-1、00:00:00 からの秒数
 *
 * 使用:
 * time_t 現在;
 * 
 * time(&now); // == now = time(NULL);
 */

localtime(); 関数

関数プロトタイプ: struct tm *localtime(const time_t *timer)
関数の目的: tm 構造体で表現されたマシン時間情報を返します。ヘッダー ファイル: time.h
入力パラメータ: タイマー: time() 関数を使用して取得されたマシン時間。

/*
 * localtime - ローカルタイムゾーンと夏時間フラグを考慮して、時刻値をローカル時間に変換します*
 * 関数宣言:
 * #include <time.h>
 *
 * 構造体 tm * localtime(const time_t *タイマー);
 *
 */
//構造体tmの定義は次のとおりです: 
 構造体tm 
 { 
   int tm_sec; /* 秒: 0-59 (K&R では 0-61 とされている?) */ 
   int tm_min; /* 分: 0-59 */ 
   int tm_hour; /* 深夜からの時間: 0-23 */ 
   int tm_mday; /* 月の日付: 1-31 */ 
   int tm_mon; /* 1月からの月数: 0-11 */ 
   int tm_year; /* 1900年からの年数 */ 
   int tm_wday; /* 日曜日からの日数 (0-6) */ 
   int tm_yday; /* 1月1日からの日数: 0-365 */ 
   int tm_isdst; /* +1 夏時間、0 夏時間なし、 
    * -1 分からない */ 
 };

time_t は実際には長整数なので、ある時点 (通常は 1970 年 1 月 1 日 00:00:00) からその時間 (つまり、カレンダー時間) までの秒数が長整数で表せる数値の範囲を超える場合はどうすればよいでしょうか。 time_t データ型の値の場合、それが表す時間は 2038 年 1 月 18 日 19:14:07 より後の時刻にすることはできません。より長い時間を表すために、一部のコンパイラ製造元は、カレンダー時間を節約するために 64 ビット以上の整数を導入しました。たとえば、Microsoft は Visual C++ でカレンダー時間を保存するために __time64_t データ型を使用し、32 ビット ワードの time() 関数を使用する代わりに、_time64() 関数を通じてカレンダー時間を取得します。このようにして、このデータ型を使用して、3001 年 1 月 1 日 00:00:00 より前の時間 (この時点を除く) を保存できます。

/*
* 時間();
* @author 李政<[email protected]>
*/

#include <time.h> 
#include <stdio.h> 

int main(int argc, char* argv[])
{ 
  構造体tm *tp; 
  time_t t = 時間(NULL); 
  tp = ローカルタイム(&t);

  printf("%d/%d/%d\n",tp->tm_mon+1,tp->tm_mday,tp->tm_year+1900); 
  printf("%d:%d:%d\n",tp->tm_hour,tp->tm_min,tp->tm_sec); 

  0を返します。
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linuxのアラーム機能の例の説明
  • PHP は 6 つの Linux コマンド関数コード例を実行します
  • Linux での stat 関数と stat コマンドの使用法の詳細な説明
  • Linux/Mac で Python 関数にタイムアウトを追加する方法
  • Linux のリンク解除機能とファイルの削除方法
  • Linux lseek関数の使い方の詳しい説明
  • ARMアーキテクチャにおける関数呼び出しプロセスの簡単な分析

<<:  JavaScript モバイル H5 画像生成ソリューションの説明

>>:  MySQL 5.7 でパスワードを変更するときに発生する ERROR 1054 (42S22) の解決方法

推薦する

CentOS の環境変数と設定ファイルの詳細な説明

序文CentOS 環境変数設定ファイル システムは階層型システムであり、他のマルチユーザー アプリケ...

js タグ構文の使用法の詳細

目次1. ラベルステートメントの紹介2. ラベルステートメントの使用序文:日常の開発では、プログラム...

mysql5.7.19 解凍版の詳細なインストール チュートリアル (純粋なクラックされた中国語版 SQLYog を使用)

Mysql5.7.19バージョンは今年リリースされた新しいバージョンです。最近のMySQLのバージ...

JavaScript オブジェクト (詳細)

目次JavaScript オブジェクト1. 定義2. オブジェクトの分類3. オブジェクトを定義する...

MySQL ベストプラクティス: パーティションテーブルの基本タイプ

MySQL パーティションテーブルの概要MySQL の人気が高まるにつれて、MySQL に保存される...

Linuxにソフトウェアをインストールするいくつかの方法の詳細な説明

1. RPM パッケージのインストール手順: 1. soft.version.rpm などの対応する...

Docker イメージ + nginx を使用して Vue プロジェクトをデプロイする方法

1. Vueプロジェクトのパッケージ化開発されたvueプロジェクトに次の名前を入力し、パッケージ化し...

Vue3 を使用してアップロード コンポーネントを実装するためのサンプル コード

目次一般的なアップロードコンポーネントの開発以下の機能を実装する必要がありますカスタムテンプレートサ...

IE9beta版ブラウザはHTML5/CSS3をサポート

IE9 は Microsoft の第二の革命だと言う人もいます。これは誇張ではないと思います。IE6...

Element+vueを使用して開始時間と終了時間の制限を実装する

この記事の例では、Element+vueを使用して開始と終了の時間制限を実装するための具体的なコード...

MySQL双方向バックアップの実装方法

MySQL 双方向バックアップはマスター-マスター バックアップとも呼ばれ、両方の MySQL サー...

MySQL トランザクションの詳細

目次導入取引の4つの特徴トランザクション分離レベル確認するMVCC現在の読書スナップショット読み取り...

ページに間隔を空けてグリッドレイアウトを完璧に実装する方法

典型的なレイアウト例上の写真のように、正方形の真ん中に一定の隙間があり、その隙間は固定されています。...

製品を選択した後、右下隅に√記号を表示するための純粋なCSS

おすすめの記事: CSS 疑似クラスの右下隅をクリックすると、選択を示すチェックマークが表示されます...

CSSでサウンドを再生するいくつかのテクニック

CSS は、スタイル、レイアウト、プレゼンテーションの領域です。色彩、サイズ、アニメーションが溢れて...