Javaに関する簡単な質問:
私はこのコードを持っています:
// edited above
} else if ((now >= (1000 * 60 * 60 * 24) && (now < (1000 * 60 * 60 * 48)))) {
now = (now / (1000 * 60 * 60 * 24));
time = String.valueOf(now + " day ago");
} else if ((now >= (1000 * 60 * 60 * 48) && (now < (1000 * 60 * 60 * 24 * 30)))) {
now = (now / (1000 * 60 * 60 * 24));
time = String.valueOf(now + " days ago");
あなたは私がしていることを見ることができます。24〜48時間前の場合は「1日前」でしたが、48時間〜1か月(または30日)の場合は「X日*秒*前」でした。この状況で月をどのように配置するかわかりません。if
2番目のステートメントの右側を削除すると...機能します。376日前の3日前または15日前と表示されます。言うまでもなく、30日後、1か月以上前に言いたいのですが、その状況に基づいて、たとえば15日前のようなものは、その句内に登録されず、スキップされます。ここで本当に小さなものが欠けていますか?
補足コード:
これが全体の文脈です。すべてが「日」まで機能します。
lCDateTime = Calendar.getInstance();
now = lCDateTime.getTimeInMillis();
now = now - total;
if (now <= ((1000 * 60 * 1))) {
now = (now / 1000);
time = String.valueOf(now + " seconds ago");
} else if ((now > (1000 * 60 * 1)) && (now < 1000 * 60 * 2)) {
now = (now / (1000 * 60));
time = String.valueOf(now + " minute ago");
} else if ((now >= (1000 * 60 * 2)) && (now < 1000 * 60 * 60)) {
now = (now / (1000 * 60));
time = String.valueOf(now + " minutes ago");
} else if ((now >= (1000 * 60 * 60) && now < (1000 * 60 * 60 * 2))) {
now = (now / (1000 * 60 * 60));
time = String.valueOf(now + " hour ago");
} else if ((now >= (1000 * 60 * 60 * 2) && (now < (1000 * 60 * 60 * 24)))) {
now = (now / (1000 * 60 * 60));
time = String.valueOf(now + " hours ago");
} else if ((now >= (1000 * 60 * 60 * 24) && (now < (1000 * 60 * 60 * 48)))) {
now = (now / (1000 * 60 * 60 * 24));
time = String.valueOf(now + " day ago");
} else if ((now >= (1000 * 60 * 60 * 48) && (now < (1000 * 60 * 60 * 24 * 30)))) {
now = (now / (1000 * 60 * 60 * 24));
time = String.valueOf(now + " days ago");