問題タブ [timespan]
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# - 2 つの日付の差を計算し、値を年で取得する
重複の可能性:
C# で誰かの年齢を計算するにはどうすればよいですか?
基本的に従業員の年齢を計算したい - 従業員ごとにDOBがあるので、C#側ではこのようなことをしたい -
日を使用して操作して年齢を取得できます...しかし、年数を取得するために直接使用できるものがあるかどうか知りたかったのです。
.net - 負のTimeSpanをフォーマットする
.Netのタイムスパンを使用して計算を行っていますが、合計が負のタイムスパンになる場合があります。結果を表示するときに、負のインジケーターを含めるようにフォーマットするのに問題があります。
これは「-10:00:00」を表示します。これは良いですが、秒を表示したくないので、これを試してみました。
これは「10:00」を返し、問題の核心である「-」を前面から削除しました。私の現在の解決策はこれです:
しかし、私はフォーマット文字列だけを使用して同じことを達成したいと思っていました。
java - Javaの「タイムライン」ライブラリに関して何が存在しますか?
次のことができるライブラリに興味があります。
時間範囲があります。1995 年から 2010 年までとしましょう。これを何らかの方法で分類すると、「インターネット時代」としましょう。
次に、2001 年から 2010 年を「Google の時代」と言って、それをさらに分割できるようにしたいと考えています。
理想的には、時代ごとに 1 つずつ、タイムスパン オブジェクト (または開始日と終了日を含むオブジェクト) のある種のリストとしてタイム ラインが存在することを望みます。したがって、これら 2 つの追加操作の後は、次のようになります。
1995-2000 - インターネットの時代 (終了日は重複しないように切り捨て)
2001-2010 - Google の時代
.net - TimeSpan と二重丸め誤差
時間、速度、距離などの物理エンティティを処理し、距離 = 時間 * 速度などの簡単な計算を実行しています。速度と距離は 8 桁に丸められた double 値であり、時間値の場合は .NET TimeSpan使用されている。TimeSpan は最も近いミリ秒に丸められるため、丸めエラーが発生するため、すべての計算を最も近いミリ秒に丸めるカスタム丸めメソッドを作成する必要があります。例 (単純化のため、8 桁目への丸めは省略されています):
- Math.Round(d, 6) の使用は分配的ですが、精度が失われます (最大 4 ミリ秒までの精度)
- Math.Round(d, 7) の使用は 1 ミリ秒の精度ですが、分配的ではありません (上の distA は 1.1234511 != 1.123451 になります)。
次の使用 (最も近いミリ秒に丸める) は正しいようですが、丸めコード自体が独自の倍精度エラーを導入します。
/li>
ありがとう、ボリス。
c# - この特定のTimeSpanフォーマット文字列が.NET4で機能しなくなったのはなぜですか?
このコードを考えてみましょう(例が事前に追加されています):
これは、少なくとも.NET1.1以降に使用してきたコードの代表的なものです。
1.1から3.5では、次の出力で正常に機能しました(これらのダミーの入力の場合)。
しかし今、私はそれが.NET4でエラーメッセージで死ぬのを見ています:
Input string was not in a correct format.
つまり、.NET 4が、時差のためにこの形式が気に入らないと突然判断したかのようです。行をに変更して、
同じ効果があります。
今私が気付いたのは、デフォルト.ToString()
を実行しただけでも同じ出力が得られるということです。これは、将来のバージョンで変更されるデフォルトの形式に対する保険契約であると考えられたプロセスだと思います。しかし、今ではそれも選択肢のようには見えません。
これが変更された理由と、私が何か間違ったことをしているのか、または私が達成しようとしていることを実行するためのベストプラクティスの方法があるのかを誰かが知っていますか?
c# - DateTime オブジェクトを使用して「経過時間」を生成するよりスマートな方法はありますか
過去に時間を取り、それがどれくらい前だったかを表す読み取り可能な文字列を生成するこのコードがあります。
Timespan.Hours は、過去に複数日あったとしても時間を与えると思っていましたが、個別のコンポーネント (日、月など) に分割されているようです。どうすれば合計時間前に取得できますか (1 日以上の場合でも?
かなりスパゲッティっぽいので、このタイプのコードを以下に書くためのよりクリーンな方法はありますか。
ここにコードがあります
monitoring - 失敗した呼び出しの結果しかない場合の停止期間の計算
私たちのウェブサイトの総ダウンタイムを示すレポートを書いています。ユーザーがサイトにアクセスし、何かが機能していない場合 (つまり、ロード バランサーがサイトの応答がないと判断した場合)、訪問者は「メンテナンス」ページに送られます。メンテナンス ページは、閲覧されたことをデータベースに記録し、訪問者に分かりやすいメッセージを表示します。
つまり、次のような値のテーブルになるということです。
理想的には、レポートを実行して次のような結果が得られるようにしたいと考えています。
ログには失敗したレコードしかないので、さまざまな停止の長さをどのように計算すればよいですか? を取得することから始めることができMIN(Reported)
ますが、次のレコードまでの間に期間があるように、シリーズの最後のレコードを見つける必要があります。
これを行う方法について何か考えはありますか?毎分サイトをチェックし、停止と成功を記録するプロセスを作成できれば、これは簡単になると思いますが、別のステップを追加する前に、取得したもので作業しようとしています.
c# - TimeSpan と DateTime のフォーマット文字列の動作の違い
今日のコーディング中に、タイムスパンとフォーマット文字列に奇妙な点があることに気付きました。たとえば01:03:37
、1:03:37
(時間の先頭に0を付けずに)タイムスパンを印刷しようとしていました。そこで、フォーマット文字列を使用しましたh:mm:ss
。ただし、これは先頭に 0 を与えました。TimeSpan を DateTime に変換し、同じことをもう一度実行すると、h
書式設定文字列は期待どおりに機能しました。
サンプル コンソール プログラム:
出力:
TimeSpan と DateTime の動作が異なるのはなぜですか?
c# - TimeSpan をカウントダウンタイマーとしてフォーマットする適切な方法は何ですか?
ウェブサイトで実行されるタイマーがあります。ユーザーの注文が期限切れになるまでの期間を取得します。ほとんどの場合、これは正常に機能し、サーバーは最初の残り時間を返し、JavaScript はカウントダウンを行います。だからそれは表示されます
2:30
2:29
2:28
その後、何らかの理由で、一部のページの読み込み (タイマーの残り時間が 60 秒未満のときに発生するようです) で、書式設定が次のように変わります。
-1:0-45
-1:0-46
-1:0-47
これは、タイムスパンのフォーマットを担当するコードです。
また、同じ結果で次のことを試しました。
TimeRemaining もチェックしています。TotalSeconds が <= 0 の場合は を返すだけnew TimeSpan(0)
なので、負になることはありません。カウントダウンを台無しにするのはjavascriptではありません。無効にしても、めちゃくちゃなフォーマットの時間が表示されるからです。
これを行うためのより良い/よりクリーンな方法はありますか?