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) の解決方法

推薦する

Vue3 での Teleport の使用に関する詳細な説明

目次テレポートの目的テレポートの仕組みこの記事では、以下の内容を取り上げます。テレポートの目的テレポ...

node.js で Web サーバーを作成する手順の詳細な説明

序文node.js でサーバーを作成するのは非常に簡単です。小さいながらも完全な Web サーバーを...

メタタグコードを使用して、360 デュアルコアブラウザを互換モードではなく高速モードにデフォルト設定します。

あるウェブサイトでは、ユーザーが WebKit カーネルでページを開くことを期待して、HTML5 と...

MySQLトリガーの概念、原理、使用法の詳細な説明

この記事では、例を使用して、MySQL トリガーの概念、原則、および使用方法を説明します。ご参考まで...

Dockerを使用して分散lnmpイメージを作成する

目次1. Docker分散lnmpイメージ生成1. Nginx、MySQL、PHPコンテナを実行する...

新しい要素を作成する3つの方法のまとめ

1つ目: テキスト/HTML経由var txt1="<h1>テキスト。<...

Linux コマンドを使用してオーディオ形式を変換および結合する方法

FFmpeg flacをインストールする eric@ray:~$ sudo apt install ...

HTML で 2 つの div タグの間に垂直線を描く方法

最近、インターフェースを描画しているときに、インターフェースに垂直線を描画し、この垂直線の高さが親 ...

HTML テーブル マウス ドラッグ ソート機能

効果画像: 1. ファイルをインポートする<script src="js/jquer...

Linux SecureCRT の文字化けの解決方法

SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...

EChartsマウスイベント処理方法の詳細な説明

イベントとは、クリック、マウスオーバー、ページの読み込み後にトリガーされる読み込みイベントなど、ユー...

MySQL の遅いクエリの例

導入スロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメントを記録で...

Vue.jsで実装されたカレンダープラグインの使い方を詳しく説明します

本日実装する機能は、以下の機能です。vue.js シミュレーションカレンダープラグインさて、もう無駄...

NavicatでMySqlスケジュールタスクを作成する方法の詳細な説明

Navicat で MySql スケジュールタスクを作成する詳細な説明イベントは、MySQL が特定...

MySQL で最大接続数を設定するためのヒントのまとめ

方法1: コマンドラインの変更次の図に示すように、MySQL コンソールを開いて「set GLOBA...