このようなものを表示するには助けが必要です。お気づきの場合は、これがスタック オーバーフロー アカウントのメンバーシップ期間です。
member for 2 years, 3 months
同じように少し修正が必要です。私の条件と表示形式は次のとおりです。
Conditions Display Format
1. Below 7 days -> Days (5 days)
2. 7 -30 days -> Weeks, days ( 2 Weeks, 3 Days) in case of 17 days.
3. 30 - 365 -> Months, Weeks, Days (4Months, 2Weeks, 2Days) in case of 136 days
3. 365 or grter -> Years, Months only (2years, 3 Months)
What I did:
Timespan を使用して日付の差を取得しています。しかし、私は自分のアウトプットに満足していません。登録が 2 ~ 3 日後に 2 か月になるメンバーがいますが、まだ 1 か月前に表示されています。これが私のコードです:
TimeSpan ts = DateTime.Now - Convert.ToDateTime(company.RegistrationDate);
if (ts.Days > 365)
membersince.InnerText = string.Format("{0} years", (ts.Days / 365));
else if (ts.Days < 30)
membersince.InnerText = string.Format("{0} days", ts.Days);
else if(ts.Days > 30)
membersince.InnerText = string.Format("{0} months", (ts.Days/30));