問題タブ [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.

0 投票する
6 に答える
75959 参照

c# - 2 つの日付の差を計算し、値を年で取得する

重複の可能性:
C# で誰かの年齢を計算するにはどうすればよいですか?

基本的に従業員の年齢を計算したい - 従業員ごとにDOBがあるので、C#側ではこのようなことをしたい -

日を使用して操作して年齢を取得できます...しかし、年数を取得するために直接使用できるものがあるかどうか知りたかったのです。

0 投票する
7 に答える
9897 参照

.net - 負のTimeSpanをフォーマットする

.Netのタイムスパンを使用して計算を行っていますが、合計が負のタイムスパンになる場合があります。結果を表示するときに、負のインジケーターを含めるようにフォーマットするのに問題があります。

これは「-10:00:00」を表示します。これは良いですが、秒を表示したくないので、これを試してみました。

これは「10:00」を返し、問題の核心である「-」を前面から削除しました。私の現在の解決策はこれです:

しかし、私はフォーマット文字列だけを使用して同じことを達成したいと思っていました。

0 投票する
5 に答える
2562 参照

.net - ワンライナーでTimeSpan配列を合計しますか?

複数の集計を 1 つの期間に集計する方法はありますか?

私が知らない組み込み機能を探しています。

更新Reed Copsey's answer に関する私のコメントを読んでください。

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

java - Javaの「タイムライン」ライブラリに関して何が存在しますか?

次のことができるライブラリに興味があります。

時間範囲があります。1995 年から 2010 年までとしましょう。これを何らかの方法で分類すると、「インターネット時代」としましょう。
次に、2001 年から 2010 年を「Google の時代」と言って、それをさらに分割できるようにしたいと考えています。

理想的には、時代ごとに 1 つずつ、タイムスパン オブジェクト (または開始日と終了日を含むオブジェクト) のある種のリストとしてタイム ラインが存在することを望みます。したがって、これら 2 つの追加操作の後は、次のようになります。

1995-2000 - インターネットの時代 (終了日は重複しないように切り捨て)

2001-2010 - Google の時代

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

.net - TimeSpan と二重丸め誤差

時間、速度、距離などの物理エンティティを処理し、距離 = 時間 * 速度などの簡単な計算を実行しています。速度と距離は 8 桁に丸められた double 値であり、時間値の場合は .NET TimeSpan使用されている。TimeSpan は最も近いミリ秒に丸められるため、丸めエラーが発生するため、すべての計算を最も近いミリ秒に丸めるカスタム丸めメソッドを作成する必要があります。例 (単純化のため、8 桁目への丸めは省略されています):

  • Math.Round(d, 6) の使用は分配的ですが、精度が失われます (最大 4 ミリ秒までの精度)
  • Math.Round(d, 7) の使用は 1 ミリ秒の精度ですが、分配的ではありません (上の distA は 1.1234511 != 1.123451 になります)。
  • 次の使用 (最も近いミリ秒に丸める) は正しいようですが、丸めコード自体が独自の倍精度エラーを導入します。

    /li>

ありがとう、ボリス。

0 投票する
5 に答える
2855 参照

c# - この特定のTimeSpanフォーマット文字列が.NET4で機能しなくなったのはなぜですか?

このコードを考えてみましょう(例が事前に追加されています):

これは、少なくとも.NET1.1以降に使用してきたコードの代表的なものです。

1.1から3.5では、次の出力で正常に機能しました(これらのダミーの入力の場合)。

しかし今、私はそれが.NET4でエラーメッセージで死ぬのを見ています:

Input string was not in a correct format.

つまり、.NET 4が、時差のためにこの形式が気に入らないと突然判断したかのようです。行をに変更して、

同じ効果があります。

今私が気付いたのは、デフォルト.ToString()を実行しただけでも同じ出力が得られるということです。これは、将来のバージョンで変更されるデフォルトの形式に対する保険契約であると考えられたプロセスだと思います。しかし、今ではそれも選択肢のようには見えません。

これが変更された理由と、私が何か間違ったことをしているのか、または私が達成しようとしていることを実行するためのベストプラクティスの方法があるのか​​を誰かが知っていますか?

0 投票する
5 に答える
7342 参照

c# - DateTime オブジェクトを使用して「経過時間」を生成するよりスマートな方法はありますか

過去に時間を取り、それがどれくらい前だったかを表す読み取り可能な文字列を生成するこのコードがあります。

  1. Timespan.Hours は、過去に複数日あったとしても時間を与えると思っていましたが、個別のコンポーネント (日、月など) に分割されているようです。どうすれば合計時間前に取得できますか (1 日以上の場合でも?

  2. かなりスパゲッティっぽいので、このタイプのコードを以下に書くためのよりクリーンな方法はありますか。

ここにコードがあります

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

monitoring - 失敗した呼び出しの結果しかない場合の停止期間の計算

私たちのウェブサイトの総ダウンタイムを示すレポートを書いています。ユーザーがサイトにアクセスし、何かが機能していない場合 (つまり、ロード バランサーがサイトの応答がないと判断した場合)、訪問者は「メンテナンス」ページに送られます。メンテナンス ページは、閲覧されたことをデータベースに記録し、訪問者に分かりやすいメッセージを表示します。

つまり、次のような値のテーブルになるということです。

理想的には、レポートを実行して次のような結果が得られるようにしたいと考えています。

ログには失敗したレコードしかないので、さまざまな停止の長さをどのように計算すればよいですか? を取得することから始めることができMIN(Reported)ますが、次のレコードまでの間に期間があるように、シリーズの最後のレコードを見つける必要があります。

これを行う方法について何か考えはありますか?毎分サイトをチェックし、停止と成功を記録するプロセスを作成できれば、これは簡単になると思いますが、別のステップを追加する前に、取得したもので作業しようとしています.

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

c# - TimeSpan と DateTime のフォーマット文字列の動作の違い

今日のコーディング中に、タイムスパンとフォーマット文字列に奇妙な点があることに気付きました。たとえば01:03:371:03:37(時間の先頭に0を付けずに)タイムスパンを印刷しようとしていました。そこで、フォーマット文字列を使用しましたh:mm:ss。ただし、これは先頭に 0 を与えました。TimeSpan を DateTime に変換し、同じことをもう一度実行すると、h書式設定文字列は期待どおりに機能しました。

サンプル コンソール プログラム:

出力:

TimeSpan と DateTime の動作が異なるのはなぜですか?

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

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ではありません。無効にしても、めちゃくちゃなフォーマットの時間が表示されるからです。

これを行うためのより良い/よりクリーンな方法はありますか?