2015-05-29 18 views
1

我是一名自學Java並且是初學者。作爲較大項目的一部分,我正在運行代碼來確定日曆對象,然後再設置時間。我搜索了一個設置AM_PM值的方法,但是我無法使其工作。任何建議都會有幫助。我無法在Java 8 Micro Edition中設置AM_PM變量

package timethread; 

import javax.microedition.midlet.MIDlet; 
import java.util.Calendar; 

/** 
* 
* @author Jaydawg 
*/ 
public class TimeThread extends MIDlet { 

@Override 
public void startApp() { 
    Calendar cal = Calendar.getInstance(); 
    System.out.println(cal.get(Calendar.AM_PM)); // Original value: it is '1' or PM 
    cal.add(Calendar.AM_PM, 0); // Attempt #1 
    System.out.println(cal.get(Calendar.AM_PM)); 

    cal.set(Calendar.AM_PM, 0); // Attempt #2 
    System.out.println(cal.get(Calendar.AM_PM)); 

    cal.set(Calendar.AM_PM, Calendar.AM); //Attempt #3 
    System.out.println(cal.get(Calendar.AM_PM)); 

    cal.add(Calendar.AM_PM, Calendar.AM); //Attempt #4 
    System.out.println(cal.get(Calendar.AM_PM)); 

    int min = cal.get(Calendar.MINUTE); 
    int sec = cal.get(Calendar.SECOND); 
    int hour = cal.get(Calendar.HOUR); 
    int AMPM = cal.get(Calendar.AM_PM); 
    System.out.println(AMPM); 
    String AMPMString = "AM"; 
    if(cal.get(Calendar.AM_PM)==1){ 
     AMPMString = "PM"; 
    } 
    System.out.println("The time is " + hour + ":" + min + ":" + sec + " " + AMPMString); 
} 

我的結果如下:

1 
1 
1 
1 
1 
1 
The time is 1:20:42 PM 

回答

0

也許帶有日曆的錯誤在Java中8微型版?

這對我的作品與Java 7:

Calendar c = Calendar.getInstance(); 
c.set(Calendar.AM_PM, Calendar.AM); 
System.out.println(c.get(Calendar.AM_PM)); 
c.set(Calendar.AM_PM, Calendar.PM); 
System.out.println(c.get(Calendar.AM_PM)); 

它輸出:

0 
1 
+0

解決方法的任何想法? – jaydawg

+0

@jaydawg你可以嘗試其他Calendar.set()方法,或者你可以嘗試Calendar.add()12小時或-12小時。這是不是很直觀你想要完成,所以我不知道什麼是最好的解決方案將適合您的需求。 –

+0

https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html –