2012-04-13 15 views
7

Kullanıcı tarafından girilen dakika sayısı (örn. 25, 120, 300 vb.) Var ve bunu h: mm: ss biçiminde göstermem gerekiyor. Bunu benim için yapabilecek herhangi bir yerleşik ColdFusion işlevi var mı, yoksa dizeyi oluşturmanın en kolay yolu hakkında herhangi bir öneri var mı?ColdFusion - Dakika Sayısı Oluşturma Zamanı

+0

'' CreateTime (saat, dakika, saniye) sonra '' ve '' TIMEFORMAT (zaman) ''. – hofo

+0

Evet, bunu gördüm, ancak belgede, dakika parametresinin yukarıda verdiğim örnekler için çalışmayan 0 ile 59 arasında olması gerektiği belirtiliyor. Kullanıcılar 999 dakikaya kadar girebilir. – shimmoril

cevap

13
<cfset totaltime = "#totalminutes\60#:#numberformat(totalminutes % 60, "00")#:00" /> 
+0

Mükemmel! Matematik yolunu kendim düşünmeliydim. – shimmoril

+0

Muhtemelen bir # inttalminutes \ 60 # 'etrafında bir int()' koymak istersiniz. – charliegriefer

+5

Ters eğik çizgi "tamsayı bölümüdür" bu nedenle beklenen sonuçla sonuçlanır. Diğerleri kod düzenlerken bunu daha önce gözden kaçırdım. –

9

Kinda oyuna geç, ama bu oldukça güzel çalışır:

TimeFormat(CreateTimeSpan(0,0,minutes,0)) 
+2

Temiz bir fikir. Sadece bir "HH: mm: ss" 'atar, böylece üst aralıklarda 999 dakika kadar doğru görüntüler. – Leigh

İlgili konular