تحويل الثواني إلى وقت من اليوم

0

لدي تطبيق على iOS وأعمل على نقله إلى Android. أواجه مشكلة في التعامل مع الوقت.

على iOS أقوم بتخزين نقاط زمنية باستخدام:

Int(NSDate().timeIntervalSince1970-0.5)

وتحويله إلى HH: MM: SS باستخدام:

private let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
return dateFormatter.string(from: Date(timeIntervalSince1970: value))

على Android (Kotlin) لتخزين نقطة الوقت التي أستخدمها: System.currentTimeMillis()/1000

وللتحويل:

LocalTime.MIN.plus(Duration.ofSeconds(xVal)).toString())

المشكلة هي أن القيمة بعد التحويل هي قبل 6 ساعات (يمكن أن تكون أكثر أو أقل ولكني أنظر فقط إلى HH: MM: SS). بقدر ما أستطيع أن أقول ، فإن الطريقة التي أحصل بها على الوقت على android صحيحة وأعتقد أن المشكلة تكمن في أنني أقوم بتحويلها. لقد بحثت عن المزيد من طرق تحويل الوقت منذ فترة إلى وقت من اليوم ولكن لم أستطع تشغيله. معظم المشاركات يتم تحويلها إلى ثوانٍ إلى HH: MM: SS ، وبالتالي فإن هذه المشاركات غير واردة. ماذا سيكون ما يعادل رمز iOS الخاص بي؟

EDIT لقد حاولت أيضًا استخدام هذه الطريقة لتحويلها لا تزال 6 ساعات على الرغم من أنني أعطيها منطقة زمنية:

    val cal = Calendar.getInstance()
    cal.timeInMillis = xVal * 1000L
    cal.timeZone = TimeZone.getTimeZone(TimeZone.getDefault().displayName)
    Log.i("This is the cal value",cal.get(Calendar.HOUR_OF_DAY).toString())

1 إجابة

0
val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
val date = sdf.format(Date(alarm.getNextTrigger()));
:مؤلف
فوق
قائمة طعام