আমি বিভ্রান্ত এই থ্রেডে হোঁচট খাওয়ার পরে , আমি ফর্ম্যাট থাকা একটি কাউন্টডাউন টাইমারকে কীভাবে ফর্ম্যাট করব তা জানার চেষ্টা করেছি hh:mm:ss
।
এখানে আমার চেষ্টা -
//hh:mm:ss
String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) -
TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
সুতরাং, আমি যখন একটি মান চেষ্টা করি তখন আমি 3600000ms
পাই 01:59:00
যা যা হওয়া উচিত তাই এটি ভুল 01:00:00
। স্পষ্টতই আমার যুক্তিতে কিছু ভুল আছে, তবে এই মুহূর্তে আমি দেখতে পাচ্ছি না এটি কী!
কেউ সাহায্য করতে পারেন?
সম্পাদনা করুন -
ঠিক কর. ফর্ম্যাট করতে মিলিসেকেন্ডগুলি hh:mm:ss
বিন্যাস করার জন্য এখানে সঠিক উপায় -
//hh:mm:ss
String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) -
TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))));
সমস্যা ছিল এই TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
। TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
পরিবর্তে এটি করা উচিত ছিল ।
00:59:59
, এটি হওয়া উচিত01:00:00
।