No ISO-8601, existem vários formatos de hora, um deles é "kk" nas horas de 1 a 24.
Qual é o propósito disso? Existem países que compensam seu tempo? É para usos militares?
O artigo da Wikipedia não esclareceu a natureza exata entre HH e kk. A principal fonte de minha preocupação é o comportamento dos formatos no SimpleDataFormatter .
Edit: A parte direta do SimpleDateFormat a que estou me referindo é esta:
H Hora do dia (0-23) Número 0
k Hora do dia (1-24) Número 24
Em uso ...
HH:mm:ss // 00:00:00
kk:mm:ss // 01:00:00
java
date-format
SlopeOak
fonte
fonte
kk
não éHH+1
.kk
expressa meia-noite como 24:00, e 00:00. Seu único uso é em horários e programações para indicar que algo termina à meia-noite ( simple.wikipedia.org/wiki/24-hour_clock ), que normalmente seria usado para expressar um horário de término em um intervalo de tempo.kk:mm:ss
estará24:00:00
no seu exemplo.Respostas:
Resposta direta à sua pergunta, não há diferença. O ponto é que você não precisa fazer o cálculo do +1 usando kk. Minha fonte pode ser encontrada em: http://www-01.ibm.com/support/knowledgecenter/SSKM8N_8.0.0/com.ibm.etools.mft.doc/ak05616_.htm?lang=pt
Aqui você encontra esta descrição:
HH hora do dia no formato de 24 horas (00-23) kk hora do dia no formato de 24 horas (01-24)
Agora, em relação a HH + 1 = kk. Exemplo: HH: 00 em kk é 01. Você pode fazer isso para cada um dos valores.
Quanto ao uso, é para fins do i18n ou usos diferentes, como você já mencionou. Em diferentes partes do mundo, diferentes notações são usadas. Porém, normalmente, você usaria o kk apenas em situações em que tenha horário comercial que ultrapasse ou após 24 horas. Por exemplo, estações de TV.
fonte