كيفية تحويل Unix timestamp إلى DateTime والعكس في C#؟
مرحباً بالجميع! أنا مطور C# مبتدئ، وواجهت مشكلة في تحويل Unix timestamp إلى DateTime والعكس.
في مشروعي، أتلقى الوقت من API بتنسيق Unix timestamp (مثلاً 1678901234). أحتاج إلى عرض هذا الوقت بتنسيق قابل للقراءة على واجهة المستخدم، وأيضاً أحياناً إرسال القيمة المحولة مرة أخرى إلى الخادم.
حاولت كتابة تحويل بسيط، لكن حدث خطأ ما. إليك الكود الخاص بي:
```csharp
// أحاول تحويل timestamp إلى DateTime
long timestamp = 1678901234;
DateTime dateTime = new DateTime(timestamp);
Console.WriteLine(dateTime); // يطبع شيئاً غريباً...
// أحاول إجراء التحويل العكسي
DateTime now = DateTime.Now;
long backToTimestamp = (long)now.Ticks;
Console.WriteLine(backToTimestamp);
```
المشكلة هي:
1. عند تحويل timestamp إلى DateTime، أحصل على تاريخ 1 يناير سنة 0001، بدلاً من 15 مارس 2023 المتوقع.
2. عند التحويل العكسي، أحصل على رقم ضخم لا يتوافق