Avatar ·

كيفية تحويل Unix timestamp إلى time.Time في Go؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة عند العمل مع الوقت. لدي API يُرجع الوقت بتنسيق Unix timestamp (مثلاً 1696425600). أحتاج إلى تحويل هذا الرقم إلى كائن time.Time، ثم تنسيقه لعرضه للمستخدم بشكل قابل للقراءة، مثل "2023-10-04 15:20:00".

لقد جربت عدة طرق ولكن لم ينجح شيء. إليك ما حاولت فعله:

package main

import (
    "fmt"
    "time"
)

func main() {
    timestamp := int64(1696425600)
    
    // المحاولة الأولى - مجرد تعيين
    // t := time.Time(timestamp) // خطأ: cannot convert timestamp to time.Time
    
    // المحاولة الثانية - عبر Parse
    // t, _ := time.Parse("Unix timestamp", string(timestamp)) // لم يعمل أيضاً
    
    // المحاولة الثالثة - عبر UnixDate
    // t, _ := time.Parse(time.UnixDate, string(timestamp)) // خطأ في التنسيق
    
    fmt.Println("لم يتم"