問題タブ [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.
c - 標準 C 関数 'localtime' のスレッドセーフ バージョン
マルチスレッド アプリケーションで localtime を使用しています。
私の理解では、localtime_r と呼ばれるスレッドセーフ バージョンに置き換える必要があります。
しかし、そうすると、リンク障害のためにビルドを完了できません。
どこから解決策を探し始めればよいかさえわかりません。
私のシステムコンポーネントは次のとおりです。
- チップ - STM32 (ARM ベースの皮質)
- IDE - IAR (ST マイクロコントローラ用のコンパイラおよびリンカ)
- OS - ThreadX
この関数は通常、IDE と共に提供される標準ライブラリ内で提供されると思います (よくわかりませんが)。私は正しいですか?
プロジェクトに追加する必要がある別のライブラリはありますか、それともプロジェクト設定に含まれていますか?
この関数を自分のコードに "インポート" する実行可能な方法がない場合、localtime 関数のスレッド セーフ バージョンには他にどのようなオプションがありますか?
アップデート:
私は、OS リソース (つまり、mutex) の使用を避け、代わりに、使用する静的構造なしで (スレッドセーフではない)、「localtime」が行うことを正確に行う標準ルーチンを呼び出すことを検討しています。
そもそも localtime が静的構造を使用する理由がわかりません。そのため、対応する localtime_r は OS リソースで問題を解決するのではなく、単に静的構造の使用を控えているだけだと思います。
そのようなオプションが実行できない場合は、自分で実装することもできますが、デートシステムの「不規則性」のために、すでに適切にテストされているものを使用することを好みます.
ここでの質問は、localtime_r をプロジェクトにリンクする方法です (localtime_r を実装する方法ではありません)。
ありがとう
c - std ライブラリ ルーチンを使用せずに日付/時刻とタイムスタンプを変換する
私は C で 2 つの単純なコンバーター、日付/時刻からタイムスタンプへ、およびその逆を実装しようとしています。時刻ライブラリ ルーチン (localtime、mktime など、主にそれらの一部がスレッドであるという事実による) への依存はありません。 -安全でない)。
以前に日付/時刻をタイムスタンプに変換する、またはその逆に同様の質問を投稿しましたが、いくつかの注目すべき変更を加えて再度送信したいと思います。
次の日付/時刻構造があります。
次の変換ルーチンについてセカンドオピニオンを持ちたいと思います (法的な情報が与えられた場合)。
私はこれを大量の合法的な入力 (2000 年 1 月 1 日から 2099 年 12 月 31 日まで) でテストしました。建設的なコメントをいただければ幸いです (パフォーマンス改善の提案、読みやすさなど)...
更新-ここでの私の最終的な目標(この質問を投稿しているため):
私は STM32 (ARM ベースの Cortex) を持っており、タイマーは 10ms ごとに CPU に割り込むように設定されています。さらに、RTC が接続されており、そこから日付/時刻を (1 秒単位で) 読み取ることができます。RTC へのアクセスは効率が悪いので、一度だけ読み込んで、それ以降は 10ms のタイマー割り込みを使用して日付/時刻を計算します。ミューテックスで保護する必要があるため、「localtime」の使用は避けたいと思います。頭に浮かぶ唯一の解決策は、独自の「localtime」を実装し、その後の結果として独自の「mktime」も実装することです (上記のコードのエポックは、2000 年の初めからの秒数をカウントします)。
redhat - 1 つのホスト上の特定の openvz コンテナーの日付を変更したい
5 つの OpenVZ インスタンスを実行している物理サーバーがあります。
Oracle を実行している 1 つのインスタンスをタイム シフトできるようにしたいのですが、物理ホストはタイム シフトしたくありません。
時間単位ではなく日単位で zoneinfo ファイルのオフセットを作成しようとしましたが、有効なオフセットしか受け入れられません。
ホストの日付を無視して、過去および/または将来のインスタンスを1つまたは2つだけ使用して、1つまたは2つのインスタンスを取得する方法を知っている人はいますか?
どんな援助も大歓迎です。
RHEL 5.2 の実行
そうでなければ、複数のインスタンスを実行する別の無料の方法を検討する必要があるかもしれません。
ありがとう。
perl - Perlで異なるタイムゾーンで将来のタスクをスケジュールする方法は?
私は多くの答えを経験しましたが、どれも私の問題を解決していないようです。ニューヨークから Perl スクリプトを実行して、別のタイム ゾーン、たとえばロサンゼルス (またはその他のタイム ゾーン) のコンピューターでタスクをスケジュールしたいと考えています。スクリプトを実行するユーザーには、日付/時刻とタイム ゾーンを入力するオプションがあります。
例:
このスクリプトは、ロサンゼルスの現地時間午後 3 時に LAHost.com コンピューターの再起動をスケジュールする必要があります。
DateTime またはその他の組み込み関数を使用して perl でこれを行う方法を見つけるのを手伝ってくれる人はいますか?
私はプログラミングが初めてで、現在Perlを学習しています。だから私の無知を許してください。
python - 2回の差
一部のコードのパフォーマンス テストのために、2 つの時間の差を取得しようとしています。まず、環境の現地時間を取得し、コードを実行してパフォーマンスをテストしてから、再度現地時間を取得します。その後、時間を差し引いて、テストにかかった時間を確認します。私は分、秒、マイクロ秒まで正確にしようとしています。
時間を取得するたびに印刷を設定すると、これが機能するのは興味深いことです。
私は得る:
ただし、現地時間を取得した後に印刷ステートメントを追加しないと失敗します。これが私が行っていることです:
これにより、次の出力が得られます。
フォーマットで印刷する方法はあります0:00:00.000000
か?
c - C で localtime からミリ秒を取得します (Boost! なし)
Boost なしでこれを行うにはどうすればよいでしょうか (ミリ秒単位で現地時間を取得する)。私はこのようなものを持っています:
しかし、tm
構造は最後に数秒しかありません...
助言がありますか?