2016-10-21 13 views
0

Я хочу отображать время в формате HHhMM. Например, если время 09:30, я хочу отобразить его как 9h45 AM. Я попытался ниже подход: -Как отображать время в формате HHhMM в java?

import java.util.*; 
import java.text.*; 

public class PS6 { 

    public static void main(String args[]) { 
     Date dNow = new Date(); 
     SimpleDateFormat ft = 
     new SimpleDateFormat ("E yyyy.MM.dd 'at' HHhMM a"); 

     System.out.println("Current Date: " + ft.format(dNow)); 
    } 
} 

Но че е выход был

Current Date: Fri 2016.10.21 at 14210 PM 

что неправильно.

Может кто-нибудь, пожалуйста, помогите мне в этом.

+0

Что правильно Струнный вы хотите увидеть? Каков маленький h в формате 'HHhMM'? –

+1

Вы пытались использовать escaping 'new SimpleDateFormat (« E yyyy.MM.dd »в« HH'h'MM a »);'? – DimaSan

+3

Возможный дубликат [Как вставить специальные символы в SimpleDateFormat?] (Http://stackoverflow.com/questions/2912149/how-can-i-insert-special-characters-in-simpledateformat) – DimaSan

ответ

3

Попробуйте это,

Date dNow = new Date(); 
SimpleDateFormat ft = new SimpleDateFormat("E yyyy.MM.dd 'at' HH'h'MM a"); 
System.out.println("Current Date: " + ft.format(dNow)); 
+0

Спасибо большое :) – user2142786

1

Если вы используете этот один SimpleDateFormat ft = new SimpleDateFormat("E yyyy.MM.dd 'at' H'h'MM a"); вы получите текущую дату: Fr 2016.10.21 в 8h10 утра. Я думаю, что это то, что вы ищете

1

В отличие от других ответов, данных до сих пор, вы также должны знать, что M означает месяц, а не минуту, а H означает 24-часовой является сомнительным в контексте наличия am/pm-marker. Также стоит указать локаль.

Поэтому, пожалуйста, используйте этот шаблон вместо:

Date dNow = new Date(); 
SimpleDateFormat ft = new SimpleDateFormat("E yyyy.MM.dd 'at' hh'h'mm a", Locale.ENGLISH); 
System.out.println(
    "Current Date: " + ft.format(dNow)); // Current Date: Fri 2016.10.21 at 12h32 PM