問題タブ [localtime]

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 投票する
3 に答える
2896 参照

c - C: 特定のタイムゾーン (オフセットによる) で特定の「時間」値を出力する方法は?

外部プログラム (制御できない) によって記録されたデータ ファイルを解析するアプリケーションを C で作成しています。バイナリ データを格納します。その 1 つのフィールドは、標準 UNIX の「エポック」形式 (UTC の 1970 年 1 月 1 日からの秒数) の時間です。

もう 1 つのフィールドはタイムゾーンで、UTC からの秒単位のオフセットとして保存されます。

いいですね、記録されたタイムゾーンでその情報を表す日付/時刻文字列を作成するために必要なものはすべて揃っていますよね? うーん...そうではないようです、および/またはそれを行う方法がわかりません。

私はかなり単純なテストケースに物事を煮詰めました:

これを MacOS X 10.6 で実行すると、次のようになります。

私が期待する(そして実際にLinuxボックスで得られる)のは次のとおりです。

TZ環境変数を変更する必要がありますか (おそらく を呼び出しますtzset)? データ構造を操作して正しいものを取得する方法があるはずですが、上記は確かに機能していません (とにかく MacOS X 10.6 では -- Linux ではうまく機能します)。

回避策として、フォーマット文字列から %z を削除して、その部分を自分で作成できると思います。

ただし、理想的には、 my の変更struct tm、または使用できる他の関数呼び出し (strftime のように、追加のパラメーターまたは何か、または代わりに localtime の代替形式を使用) のいずれかが必要です。物事を正しく行う。

Linux は動作しているように見えるので (それでも、上記の解決策は理想的ではありません。なぜなら、私は自分のtime_t値をstruct tmごまかしているからです。 MacOSに対するバグとして?

あるいは、サードパーティ (GNU 関係者の何か、私が想像している) ライブラリが必要になったとしても、呼び出すことができるライブラリ ルーチンの別のセットはありますか? ObjC または C++ のオプションを検討しますが、私は C のままにしたいと思います。

0 投票する
11 に答える
556126 参照

c - Cで現在の時刻を取得する

システムの現在時刻を取得したい。そのために、Cで次のコードを使用しています。

問題は、このコードがランダムな時間を与えていることです。また、ランダムな時間は毎回異なります。システムの現在の時刻が必要です。

0 投票する
9 に答える
15591 参照

java - 一日の終わりの24:00のJodaTimeLocalTime

スケジューリングアプリケーションを作成しており、その人がどのタイムゾーンにいるかに関係なく、その日の利用可能なスケジュールを表す必要があります。2つのインスタンス間の絶対時間の間隔を表すJoda Time's Intervalからキューを取得します(開始を含む、排他的終了)、LocalIntervalを作成しました。LocalIntervalは2つのLocalTimes(開始包括的、終了排他的)で構成されており、Hibernateでこれを永続化するための便利なクラスも作成しました。

たとえば、誰かが午後1時から午後5時まで対応可能である場合、次のように作成します。

これまでのところ良い---誰かが午後11時からある日の深夜まで利用できるようになるまで。間隔の終わりは排他的であるため、これ次のように簡単に表すことができます。

ああ!立ち入り禁止。LocalTimeは23を超える時間を保持できないため、これは例外をスローします。

これは私には設計上の欠陥のように思えます---Jodaは、誰かが非包括的エンドポイントを表すLocalTimeを必要としている可能性があるとは考えていませんでした。

これは、私たちが作成した非常にエレガントなモデルに穴を開けるため、本当にイライラします。

私の選択肢は何ですか---Jodaをフォークして24時間小切手を取り出す以外に?(いいえ、ダミー値を使用するオプションは好きではありません---たとえば23:59:59 --- 24:00を表します。)

更新:24:00のようなものはないと言い続ける人のために、ISO 8601-2004からの引用があります。4.2.3注2、3:「1暦日の終わり[24:00]は[00 :00]次の暦日の開始時...」および「[hh]の値が[24]である表現は、時間間隔の終了を表すためにのみ優先されます...」

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

c++ - gettimeofday と localtime を使用した正確なタイムスタンプ

gettimeday と localtime を使用して、複数のアプリケーションとデータ パスで経過したシステム時間を監視しようとしています。この例では、コードを実行する直前にシステム時間 (マイクロ秒の精度) を取得したいと考えています。私は現在、次のようにしています:

私が理解していることから、 localtime 呼び出しは間違いなく少しオーバーヘッドが発生し、精度が低下する可能性があります。これについては完全に間違っているかもしれませんが、監視するコードが完了するまで localtime を呼び出すのを待つ必要がありますか? 私は localtime が gettimeofday の結果のやや高価な変換を行っているだけであると想定しているため、printf ステートメントの直前に配置する必要があります。

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

python - Python での時間の不一致

クロス プラットフォーム プログラムでいくつかの問題に直面しています。Linux と Windows で Python シェルを開くと、エポックから同じ時間が得られません。

Linuxで、やろうとしdpkg-reconfigure tzdataました。

現在、Linux では、dpkg-reconfigure tzdata の avec を取得しています。

次に、Python コンソールで、次のスクリプトを作成します。

返す Linux の場合:

Windows の場合:

次に、このスクリプトを試しました:

Linux で返される最初の行は次のとおりです。

Windows で返される最初の行は次のとおりです。

つまり、Windows では 1970 年から日付が取得されますが、Linux では 1972 年から始まります!

次に、bash コンソールに次のように記述します。

私はそれを得る:

ご覧のとおり、1970 年には何も表示されません。

どうすれば Debian のタイムゾーンを自分のものに変更できますか!?

古いメッセージ: クロス プラットフォーム プログラムでいくつかの問題に直面しています: Linux と Windows で Python シェルを開くと、エポックから同じ時間が得られません。

Linux (debian スクイーズ) の場合:

Windows (7 64 ビット Professional) の場合:

ご覧のとおり、1 時間の差があります。なんで?



私がその時したことであるあなたの答えをありがとう: Windowsで:

Linux の場合:

問題がある理由がわからない場合は、gmtime を使用したくありません。Linux の時刻を Windows と同じになるように変更しようとしました (Windows でソフトウェアの開発を開始しましたが、完全に動作するため、Windows ではなく Linux でシステム時刻を変更したいのです)。Linuxで、やろうとしdpkg-reconfigure tzdataました。しかし、私が何を選んでも、まだ間違っています。

現在、Linux では、dpkg-reconfigure tzdata の avec を取得しています。

Windows で使用されている時刻がわかりません。「UTC」を使用しています。



このスクリプトを作成します。

返す Linux の場合:

Windows の場合:

ご覧のとおり、エポック以降の時間の問題がまだ残っています (エポックでは午前 1 時でした...)。



Python が原因ではないように思われるため、別のトピックを作成します: タイムゾーンの問題

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

java - Java (処理環境) が現地時間を教えてくれない

ローカル タイムゾーンに合わせてエポック タイムを調整しようとしています (つまり、GMT-7 ですが、GMT が表示されます)。私はこれがうまくいくはずだと確信していますが、そうではありません...

ただし、GMT-7(私のタイムゾーン)ではなく、GMTに基づいてエポック時間を出力します。しばらく遊んだ後、私はこれを機能させました...

しかし、なぜ最初のブロックが機能しないのでしょうか?

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

actionscript-3 - ActionScript 3 で UTC 日時から現地時間を取得する

AS3 には日時変数を現地時間に変換する方法がありますか?

0 投票する
11 に答える
11054 参照

python - ローカル タイムゾーンの Olson TZ 名を取得しますか?

C の呼び出しによって指定された値に対応するOlson タイムゾーン名( など)を取得するにはどうすればよいですか?Australia/Sydneylocaltime

これは、 、シンボリックリンク、または時間関連のシステム構成ファイルで変数を設定するTZことによってオーバーライドされる値です。/etc/localtimeTIMEZONE

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

actionscript-3 - AS3 の GMT+2 までの UTC 時間

問題が発生しています。AS3 がネイティブに提供する関数を使用して、Date()UTC 時間をローカル マシン時間に変換しています。

私が抱えている問題はこれです。 と を見てmonthくださいhour

これはおそらく夏時間のせいですが、日付操作のネイティブ関数はこれを考慮していると思いました。

そうですか、それが問題ですか。サマータイムは自分で計算する必要がありますか? それとも違うものですか?

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

c++ - C ++:時間と現地時間で実際の時間を取得する方法は?

C++でHH::MM::SS方式で時間を節約する方法を探しています。私はここでそれらが多くの解決策であることを知り、少し研究した後、私はとを選びましtimelocaltime。ただし、次のように表示されるため、関数localtime少し注意が必要なようです。

localtimeとgmtimeへのすべての呼び出しは同じ静的構造を使用するため、各呼び出しは前の呼び出しの結果を上書きします。

これが引き起こす問題は、次のコードスニペットに示されています。

このための一般的な出力は次のとおりです。

ご覧のとおり、time_tタイムスタンプは正しいですが、現地時間はすべてを台無しにします。

私の質問は、タイムスタンプまたはタイプtime_tを人間が読める時間に変換するにはどうすればよいですか?