web-dev-qa-db-ja.com

タイムスタンプに年を追加する必要があるのはいつですか?

Stack Exchangeは、相対タイムスタンプを使用して、アクションがいつ発生したかを示します。質問があった、編集が行われたなど。これは「2日前」までさかのぼります。正確に48時間前のすべてのものは、完全なタイムスタンプを使用します。タイムスタンプが現在の年でない場合は、年も含まれます。

ただし、新しい年の到来により、日付間の不協和が生じたようです。これは、「2日前」から昨年にジャンプする2日前に発生したものです。

このスクリーンショットは13:23:55(UTC)に撮られたものです。 Stack Overflowを使用しました。質問が最も多いためですが、すべてのStack Exchangeサイトに当てはまります。

enter image description here

2012年は昨年だったので、その年がタイムスタンプに追加されたので、質問が実際よりもずっと前に行われたように思えます。

年を含める必要がない場合、ユーザーがそれを見ない方がわかりやすいでしょうか?つまりそれが20なら番目 2013年6月は20日以降の日付のタイムスタンプ番目 2012年6月not年の部分を含めますか?

17
Ben

あなたの提案された解決策はまたジャンプをもたらします。 2013年6月20日で、「6月22日」の投稿が表示された場合、「今年の6月」と考え、それはまだ先のことなので、ダブルテイクを行います。 2013年6月の場合、2012年6月以降のすべての投稿に「12年6月」のマークを付ける必要があります。月末が近づくにつれ、7月からの投稿にも昨年からの投稿としてマークを付けるとよいでしょう。

前の暦月を年なしに保つことから過去10暦月を年なしに保つことまで、何でも合理的だと思います。このように、「12月29日」はまだ1月の最近の日付のように見えますが、11か月前の投稿には、年の印として1年が追加されています。

Unix(UXコンテキストでは一般的な参照ではない)は、ファイルの時間を表示するときに次のように動作します。過去6か月のファイルの日付は月、日、時間、分で表示され、古いファイルと将来の日付が表示されます年、月、日で。これには、正確に6か月前のジャンプを作成することの欠点があります。ジャンプを暦月の変更に合わせるのが良いでしょう。

それは大したことではありません—あなたが何をしても、ジャンプがあります(X日前からカレンダーの日付へ)。

ウェブサイトでは常にタイトルに年を含める必要があります。これは、誰にとっても混乱しない標準を設定することです。完全なUTC日付は、マシンが理解できる単一のメソッド呼び出しで簡単にタイムスタンプに変換できるため、クローラーとWebスクレイパーにとっても重要です。

5
Wololo

9か月が経過した年を含める。

特にノイズが単一の中心窩固定の10文字スケールを超える日付スタンプをとる場合は特に、信号を増加させずにノイズを増加させることは悪い考えであるため、推測された年は含めないでください。これにより、特定のユースケースで不利益になる可能性のあるスキャン能力が低下します。

とはいえ、ユーザーは「9月12日」が昨年の1月3日を意味することを伝えることができますが、「8月13日」というラベルの付いたものは8月4日の未来のものであることを理解するには、もう少し精神的な苦労が必要かもしれません。日付を見て、カレンダーの「一般的な」位置を確認するよりも、日付が前か後かを正確に判断するのははるかに困難です。

そのため、12年全体ではなく、9か月後に年指定子を含める必要があります。

4

ユーザーにあまり考えさせてはいけません。 nowは明らかかもしれませんが、年の真ん中(たとえば4月)には、「3月」が「1か月前」を意味し、「5月」が「1年前」を意味することは本当に明らかでしょう。 「?さらに悪いことに、4月15日で「4月16日」と表示されたらどうなるでしょうか。 (ただし、これは月ごとに行うことで回避できます)特に、正確な日付を常に把握していない私のような人々にとっては、さらに混乱します。このシステムでは、ユーザーは時々少し考える必要があります。そして、ユーザビリティの中心的な柱は「私に考えさせない」であることは誰もが知っています。

一方、現在のシステムでは、2012年がちょうど過ぎた1月頃にのみ、わずかな混乱が生じています。 2月の12月の投稿willは少し前の投稿です。

3
Manishearth

SEの例の場合、これに関する大きな問題はありません。投稿が「1年前」に対して作成されたのは数日前だったとは異なります。

「1年前」だと主張するのではなく、投稿に日付/時刻を残している限り、90%の人はそれが最近のものであると理解できるほど賢く、残りの10%は気にしません。

徹底的にこれを修正したい場合は、「先週に投稿されたものはすべて相対タイムスタンプを使用し、それ以降はすべて日付が付けられる」と言うのは簡単です。

3

経過時間ではなく日付を述べる瞬間(48時間は実際には適切な境界を提供しているように思われます)には、年について言及する必要があります。どうして?暗い遠い未来で、スマート日付調整器(TM)を知らなかったミラーが、実際のクロール日付に関する情報がない、唯一の利用可能なソースになることを想像してみてください。

提供された情報が12か月未満の期間に由来するものであるかどうかを、訪問者はどのように知る必要がありますか?情報は絶望的に古くなっているか、それでもかなり有用である可能性がありますが、決定するのがより難しい有効な日付がありません。

2
Tobias Kienzler

これを行うためのすべての方法と私にとって何が意味があるかを考えてみてください...

私が最も好むのは、相対タイムスタンプを30日にバンプし、その後完全な日付を表示することです。 「2時間前」や「10日前」を見るのは最高です。そして、日付を見たときに、その項目を30以上であることを知るために日付を読む必要さえありません。

1
Ed Burns

私たちは年で大丈夫だと思います。つまり、私たちはすべて紙で日付を記入しているのです。これらの日付は完全にフォーマットされており、1月(年の初め)と12月(年の終わり)の違いをすぐに理解できます。したがって、1年を追加する前に6(または9?)か月スキップするなど、いくつかの不明確なルールを追加すると、複雑さが増すだけだと思います。物事をシンプルに保つ:現在の年のみが年なしで印刷されます。

1
alexeypegov

別の方法で実行する実際のプログラムの例を紹介するために、 lsコマンド は6か月で線を引きます。おそらく計算を簡単にするために、私のシステムでは正確に6か月ではないようです。

-rw-rw-r-- 1 random random 0 Jul  3  2012 2012-07-03
-rw-rw-r-- 1 random random 0 Jul  4 00:00 2012-07-04

そして、それはすぐに将来のタイムスタンプのために再び年を含むように切り替わります:

-rw-rw-r-- 1 random random 0 Jan  1 00:00 2013-01-01
-rw-rw-r-- 1 random random 0 Jan  2  2013 2013-01-02

YYYY-MM-DD部分が明確でない場合に備えて、ファイル名です)

この場合、年と同じスペースを占めるため、同じ遷移を使用して時刻の表示を停止します。これにより、両方の形式で日付スタンプが10文字以内(スペースを除く、12文字を含む)で読みやすくなります。

0
Random832