Avatar ·

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} घंटे पहले"; // ... और इसी तरह, लेकिन यह सुंदर नहीं है और विभक्तियों को ध्यान में नहीं रखता