問題タブ [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# - 09:00 AM などの文字列としての時間しかない場合、オフセットを TimeSpan として取得するにはどうすればよいですか
「9:00 AM」という文字列があります。C# で TimeSpan として真夜中からのオフセットを取得したいですか?
c# - FluidKitを使用しているときにアニメーションを高速化するにはどうすればよいですか?
WPFアプリケーションでFluidKitを使用していますが、アニメーションを高速化したいと考えています。
TimeSpanを期待するDurationタイプの"Duration"プロパティがありますが、指定したタイムスパンではアニメーションが発生しません。
アニメーションの速度を制御する期間を設定するにはどうすればよいですか?
(誰かがこれに対する答えを探しているなら、私はそれをcodeplexフォーラムにも投稿しました。)
datetime - 月の長さ、うるう年などを考慮して期間を保存および操作する方法はありますか?
私はちょうどこれを自分で書こうとしていましたが、これが存在しなければならないことを知っており、私をそれに導くすべての Google キーワードをなんとか回避しています。
D、M、Y が日、月、年の数である DDDMMMYYY のようなものを探しています。したがって、00103000 は 3 か月と 1 日、または 000000001 は 1 年のスパンを示します。理想的には、この形式には、1 か月のさまざまな日数、うるう年など、タイムスパン計算のすべての落とし穴を考慮できる、標準的な適用方法もあるはずです。
ここで尋ねられたように、2つの既知のタイムスタンプ間のタイムスパンを計算する方法を探していません( C#での相対時間の計算)、時間のスパンを示す、保存できる特定の文字列形式のようなものを探しています既知のものから 2 番目の未知の日付を決定するために使用されます。
上記の架空の形式を使用すると、「2009 年 9 月 15 日から 00103000 になる日付を計算する」と言った場合、「2009 年 12 月 16 日」が返されます。これは、9 月 15 日から 3 か月と 1 日後です。
c# - TimeSpan.Parse 時間形式 hhmmss
C#では、12:45:10の124510のようなhhmmss形式の時間があり、TotalSecondsを知る必要があります。TimeSpan.Parse("12:45:10").ToTalSeconds を使用しましたが、hhmmss の形式は取りません。これを変換する良い方法はありますか?
c# - C#-2つの日付の違いは?
2つの日付の差を計算しようとしています。これは私が現在使用しているものです:
休日を除いて、すべて正常に動作します。これは、1日24時間未満はカウントされないためだと思います。そうする方法はありますか?ありがとうございました。
oracle - Oracle 9i で 2 つの日付間のタイムスパンを取得する方法は何ですか?
Oracle 9i で時刻を含む 2 つの日付の差を取得する最良の方法はどれですか? C# の Timespan 関数のようなもの。
ありがとう、チャク
vb.net - TimeSpan 減算メソッドは負の TIMESpan を返します
これら 2 つの TimeSpan は、24 時間形式でデータベースに格納されます。日付なし、TimeSpan のみ。
'r = -12:17:05
これを正しく行う TimeSpan メソッドはありますか? ありがとうございました。
c# - 2つの日時フィールドを減算して、残りの日数の差を取得します
誰かが私が残りの日数の差を取得するために2つの日時フィールドを差し引くことを理解するのを手伝ってくれるならそれをいただければ幸いです。
c# - .Years と .Months を持つ実タイムスパン オブジェクト
次の 2 つのシナリオを検討してください: シナリオ 1)。今日は 2012 年 5 月 1 日で、シナリオ 2)。今日は 2012 年 9 月 1 日です。
ここで、誰かが残したコメントについて、「このコメントは 3 か月と 12 日前に書かれました」と Web ページに書いたとします。ステートメントがまったく同じであっても、これら両方のシナリオの日数は常に異なります。シナリオ 1 では、「3 か月と 12 日」は102 days
. ただし、シナリオ 2 では、「3 か月と 12 日」は104 days
!
さて、私の主張に追いつくために、別の例を使用して、誰かが 2013 年 1 月 30 日に私たちのサイトにコメントを残したとしましょう。今日は 2013 年 3 月 10 日です。私たちの実際の TimeSpan オブジェクトは、この相対的な日付を知る必要があり、以下を出します:
- 3月は10日あるということで、
- 1月は1日(30日から31日まで数えます)。
- 2 月が何日あっても (28 日であっても) 1 か月であること。
つまり、合計で 10 日 + 1 日 + 1 か月、つまりThis comment was posted 1 Month and 11 Days ago
.
ここで、MS スタイルの TimeSpan オブジェクト (または任意の言語の TimeSpan オブジェクト) を使用すると、1 月 30 日から 3 月 10 日までの日数 (39 日) が得られます。これは、TimeSpan オブジェクトが相対日付を格納しないためです。 (TimeSpan を取得するために差し引いた基本/初期日付)、それが何月何日であるかを尋ねると、1 か月に 30 日、または最悪の場合、30 日を超える平均があると仮定します。 、残りを日単位で返すので、39 日になると、1 か月と 9 日であることがわかり、次のようになります。This comment was posted 1 Month and 9 Days ago
メッセージ。これらのシナリオは両方とも同じ開始日と同じ現在/終了日を持っていることを思い出してください。はい、Microsoft TimeSpan オブジェクトは、2013 年 2 月を考慮する必要があることを伝えることを許可しないことで、完全に異なる TimeSpan を与えました。丸2日。それは事実上、私たちに嘘をつきました。
問題は、人々がこれを信じるだろうということであり、彼らがどのような認識を持っているか、過去の認識がどのように変化するか、過去の出来事を自分の心の中で再構築しようとするときに下す決定と人生の選択を誰が知っているかということです。今日どこにでも蔓延している時間を表現することの欠点と固有の失敗に気づき、理解する. 彼らは、先月が 30 日、29 日、28 日ではなく 31 日だったこと、またはその逆であることをプログラミング言語が認識しない (または気にしない) こと、および TimeSpan を増やすとこれが加算されることを理解できません。
これが、この投稿の中心にある問題です。私は、ほとんどの人がこの違いを気にしないことを理解しています (しかし、私たちの何人かは気にしていて、これを背負うことができないことを確認してください)。気にしなければよかったのに、時間、ストレス、失望を節約できたでしょう。これが問題にならない場合は、この関数を使用して、相対時間を効率的にテキスト表示することができます (秒から年まで 1 ~ 6 ノードにカスタマイズ可能)。
がっかりしたことに、実際の timespan オブジェクトがないことに気付きました。timespan を取得し、何も取得し.years
ない場合は、timeSpan オブジェクトには何月かを伝えるものがないため、.months
取得して下げるだけです。.days
または timeSpan が作成された年。したがって、各月の日は 1 年にわたって変化し、閏年ではさらに変化するため、実際には何月経過したかを知ることはできません。
これに対応して、正確な読み取り値を取得し、ASP.NET Web ページで次のようなものを返すことができるようにするために開発した関数を投稿します...
4 年 3 か月 14 日 15 時間 18 分 24 秒前の投稿
…があるだろうと思った
timeSpan.GetActualNumberOf[Months/Days/Hours/etc]
(もちろん、基準日を指定する必要があります)
… このデータ型の type メソッドですが、ありませんでした。
実際に必要なのは、timeSpan オブジェクトに別のプロパティを作成して、差が計算された基準日を与えることだけです。そうすれば、上記の素敵な文字列は非常に簡単に計算でき、.year
&.month
が存在します!
更新:以下の回答で、公式の回答とコードの使用方法の詳細を大幅に拡張および更新しました。
c# - 人間が読める日付形式
特定の Web アプリケーション (たとえば、GMail の特定の部分) では、日付が単に DD/MM/YYYY ではなく、人間が判読できる形式で表示されることに気付いたかもしれません。
たとえば、23 日 (執筆時点でたまたま 3 日前) のメール アイテムを開くと、次のようになります。
12月23日 (3日前)
これと同様のロジックを自分の Web アプリケーションに実装したいと思います。
たとえば、.NET TimeSpan オブジェクトを扱う場合、次のようなテキストに変換したいと考えています。
2ヶ月
3日
これを実行できる .NET ライブラリは既にありますか?
そうでない場合は、基本的なものを作成してオープンソースにするかもしれません。
私はここで基本的なスタートを切りました: