C# में सापेक्ष समय की गणना कैसे करें (जैसे "5 मिनट पहले", "कल")?
सभी को नमस्कार! मैं C# (Windows Forms) में इवेंट लॉग रखने के लिए एक छोटा एप्लिकेशन लिख रहा हूँ। मुझे प्रत्येक इवेंट की तारीख और समय को पूर्ण प्रारूप (जैसे "2023-10-05 14:30:00") में नहीं, बल्कि सापेक्ष रूप में दिखाना है — जैसे सोशल नेटवर्क या मैसेजिंग ऐप्स में होता है: "अभी-अभी", "5 मिनट पहले", "2 घंटे पहले", "कल", "3 दिन पहले" इत्यादि।
मैं C# में नया हूँ और फिलहाल मैं केवल ढेर सारे if-else के माध्यम से समाधान सोच पा रहा हूँ, लेकिन यह बहुत बोझिल लगता है। उदाहरण के लिए, मेरे पास एक वेरिएबल `DateTime eventTime` है, और मैं "15 मिनट पहले" जैसी स्ट्रिंग प्राप्त करना चाहता हूँ।
यहाँ मेरा वर्तमान "कोड" (या खाका) है जो मैंने लिखने की कोशिश की:
```csharp
DateTime now = DateTime.Now;
TimeSpan diff = now - eventTime;
if (diff.TotalMinutes < 1)
return "अभी-अभी";
else if (diff.TotalMinutes < 60)
return $"{(int)diff.TotalMinutes} मिनट पहले";
else if (diff.TotalHours < 24)
return $"{(int)diff.TotalHours} घंटे पहले";
// ... और इसी तरह, लेकिन यह सुंदर नहीं है और विभक्तियों को ध्यान में नहीं रखता