問題タブ [time-t]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1560 参照

c++ - 負のタイムスタンプを文字列に変換する方法。C ++

負のタイムスタンプがあります(つまり、1970年より古い日付、たとえば15.04.1896)。指定されたタイムスタンプを正しい日付文字列に変換する方法。

私がやろうとしているので

0 投票する
2 に答える
24426 参照

c - time_t から時間を抽出するには?

エポックからの秒数を表す time_t 値から、時間、分、秒を整数値として抽出したいと考えています。

時間の値が正しくありません。なんで?

出力 (時間は 10 である必要があります)

0 投票する
4 に答える
15354 参照

c - CでWindowsのGMTでtime_tを取得するにはどうすればよいですか

複数の相互通信システムで実行されるコードを書いています。time() を使用して time_t を取得していましたが、これがシステム間のタイム ゾーンの違いに問題を引き起こしていたため、GMT で time_t を取得したいと考えています。私は time.h 関数を調べてきましたが、時間を正しく取得できることをどのように確認できるかは不明です。これは私がこれまでに思いついたものです:

今、これは私のマシンで正しい答えを得ているようですが、他のマシンの時計が現地時間またはGMTに設定されているか、別のタイムゾーンなどに設定されている場合でも、プッシュする前にそれが普遍的に機能するかどうかを知りたいです. . 私が心配している理由は、mktime のためです。説明では、tm 構造体を「現地時間で表された暦時間」として解釈すると述べています。私のマシンにはあるようですが、GMT時間を返さないように思えます。また、gt を印刷すると、t より 4 時間進んでいるように見えます。しかし、次を実行すると:

時間は同じで現地時間ですが、これは私が期待したものではありません。

記録として、別の回答で timegm() への参照を見ました。これは完璧に聞こえますが、私のシステムには存在しません。

要するに、C の Windows マシンで GMT の time_t を取得するにはどうすればよいですか?

編集:msvcrtを使用していないため、追加されたmsvcrtタグを削除しました。

0 投票する
3 に答える
20745 参照

c - clock_t、time_t、struct tmの違いは何ですか?

clock_t、time_t、struct tmの違いは何ですか?

struct tmは次のようになります:

しかし、clock_ttime_tはどのように見えますか?

0 投票する
4 に答える
10164 参照

c++ - C++でUTCの日付と時刻をtime_tに変換するには?

年、月、日などの数値で指定された UTC 日付と時刻を time_t に変換したいと考えています。一部のシステムは、mkgmtimeまたはtimegmこの目的のために機能を提供しますが、それは標準ではなく、私の Solaris システムには存在しません。

これまでに見つけた唯一の解決策は、 setenv を使用してローカル タイム ゾーンを UTC に設定してから を呼び出すことmktimeです。ただし、このアプローチはスレッドセーフではなく、遅く、移植性がなく、システムでメモリリークが発生することさえあります。

gmtimeを使用して現在の UTC オフセットを決定し、それを の結果に追加しようとするアプローチも見てきましたmktime。しかし、私が見た限りでは、これらのアプローチにはすべてギャップがありました。結局のところ、現地時間から UTC への変換は一意ではありません。

最善の解決策は何だと思いますか?

0 投票する
1 に答える
60 参照

vim - 別のディレクトリに ctime ヘッダーが含まれている場合の vim エラー

ここで、cpp ファイルから ctime または time.h をインクルードすると、vim から奇妙なエラーが発生しました。次のコードを含む a.cpp をコピーしました。

次に、それらをvimで開きます。違いは次のとおりです。

403 Forbidden が表示された場合は、URL 入力バーにカーソルを置き、Enter キーを押してください。

だから、私のubuntuシステムからここで問題を理解することはできません。

ラップトップで他のヘッダーを持つ他のファイルを編集するときに、このような奇妙な問題に遭遇したことはありません。

私の英語は上手ではありません :< ですが、何か提案をいただければ幸いです。

0 投票する
1 に答える
146 参照

c - 2^32 より大きい time_t を設定できないのはなぜですか?

私は C で FUSE をいじっていて、非常に遠い将来に作成されるように見えるファイルを作成したかったのです。FUSE で書いているカスタム stat() 関数は struct stat* stbuf に書き込み、次のようなことをしたい

作成された日付を途方もなく長い未来に取得するには。

私はこれを 64 ビットの Linux システムで実行しているので、time_t は 64 ビットの値であると予想されます。実際、単に printf("%d\n",(int) sizeof(x)); プログラムで time_t のサイズをテストするには、8 を取得します。ただし、警告をオンにしてコードをコンパイルすると、

取得したマウントされたファイルシステムでファイルを統計するときの変更時間

実際の値が 0 であるかのように。64 ビットの time_t が必要な 64 ビット システムでこれが発生する理由を知っている人はいますか?

0 投票する
4 に答える
1416 参照

c - Cのtime_t関数でエラーを返す方法

現在、time_t 値を返す C 関数を作成していますが、エラー ケースも管理する必要があります (この関数は I/O 関数を使用するため)。(time_t) -1 をエラー インジケーターとして使用するのは正しいですか?

0 投票する
3 に答える
1621 参照

c - 人間の時間をエポックUnix時間に変換して負の数を返す

私は現在、いくつかのCコードに取り組んでおり、人間が読める形式の日付をエポックタイムスタンプ(UNIXタイムスタンプ)に変換しようとしています。ただし、常に負の数を返します。struct tm正しく機能するまで、日付の値を使用してハードコーディングしています。以下はコードです

このコードを実行すると、の出力が得られます-858000330

あなたが提供できるどんな助けにも感謝します。

0 投票する
1 に答える
1591 参照

c++ - 1970 年 1 月 1 日より前にさかのぼる c++ time_t

入力Excel日付から計算/操作できるC++コードがあります(操作とは、入力日付を特定の増分で増減したり、他の計算を実行したりできることを意味します)。

コードで変数 time_t を使用します。msdn のドキュメントによると、time_t は 1970 年 1 月 1 日から経過した秒数です。そのため、入力日付が与えられた場合、最初に 1970 年 1 月 1 日からの経過秒数を計算し、それを time_t vcariable に格納し、後で他のすべての計算に localtime() を使用します。

入力日付が 1970 年 1 月 1 日以降である限り、コードは正常に動作しますが、それより前の日付では機能しません。

質問: 1970 年 1 月 1 日より前に使用できる他の変数または構造はありますか。または、1970 年 1 月 1 日より前になるように time_t 変数を操作する方法はありますか。

前もって感謝します

私は 1970 年 2 月 1 日から始めます。月を2つ減らしたい。最初に使用する

次に、次を使用します: maketime(y, m + count, d, h, n, s); ここで、y=1970、m=2、count=-2、d=1 (上記のコードの出力から。maketime() は次のとおりです。

これは t_ =-1 になります。

この結果で、 localtime() を再度呼び出し、

localtime() 内の最初の行は、t_ = -1 の場合に失敗します。