【问题标题】:LWUIT Calendar date formatLWUIT 日历日期格式
【发布时间】:2013-12-01 11:07:35
【问题描述】:

我有一个应该打印今天日期的 LWUIT 代码。

我的问题是以“Mon dd hh:mm:ss GMT+...... yyyy”格式打印的日期

例如 2013 年 11 月 28 日星期四 01:00:00 GMT+03:00

所以我有几个问题

  1. 如何获取“yyyy-mon-dd”格式。

  2. 如何在转换为 "yyyy-mon-dd" 后在今天的日期中添加一天。

请注意,某些类在 J2ME 中无法工作,例如 Simpledateformat 类。

import javax.microedition.midlet.*;
import com.sun.lwuit.*;
import com.sun.lwuit.events.*;  
public class myLibrary extends MIDlet {

    Form f;    
    com.sun.lwuit.Calendar cal;
    Button b;      

    public void startApp()  {
        com.sun.lwuit.Display.init(this); 
        f = new com.sun.lwuit.Form();
        cal = new com.sun.lwuit.Calendar();
        b = new Button("Enter");
        f.addComponent(cal);
        f.addComponent(b);
        b.addActionListener( new ActionListener()   {
            public void actionPerformed(ActionEvent acv)    {
                System.out.println(""+cal.getDate());
            } 
        });

        f.show();
    }
    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

【问题讨论】:

    标签: java date java-me lwuit


    【解决方案1】:

    为了使用java.lwuit.Calendar 类,要以该格式获取您的日期,您需要对cal.getDate() 中的数据进行子串化。

    例如

    System.out.println("DAY " + cal.getDate().toString().substring(0,3));
    

    这样做,您将获得数据,然后将它们重新排序为字符串。

    要从日历视图更改日期,您需要使用 Calendar.setDate(Date d);

    我建议你使用 java.util.Calendar

    java.util.Calendar c = Calendar.getInstnace();
    c.set(Calendar.DAY_OF_THE_MONTH, day_that_you want);
    c.set(Calendar.MONTH, month_that_you want);
    c.set(Calendar.YEAR, year_that_you want);
    
    java.lwuit.Calendar cal = new java.lwuit.Calendar();
    cal.setDate(c.getDate().getTime());
    

    如果你还想使用Date类,试试这个代码,明天就会打印出来

    private static final int DAY = 24 * 60 * 60 * 1000; 
    Date d = new Date(); d.setTime(d.getTime() + DAY);
    

    【讨论】:

    • 这两门课他都能用!!
    • 如果他使用 LWUIT 中的 Calendar 类,他可以使用 java.util 包中的 Calendar 类按照我建议的方式进行导入
    • 是的,我确实需要使用 LWUIT 日历而不是 java.util.Calendar 所以标题中有错误
    • o_O 哦,伙计,这对我有用...我不知道如何帮助您...这很奇怪
    • 如果你想用 date 来做 private static final int DAY = 24 * 60 * 60 * 1000;日期 d = 新日期(); d.setTime(d.getTime() + DAY);
    【解决方案2】:
    import javax.microedition.midlet.*;
    import com.sun.lwuit.*;
    import com.sun.lwuit.events.*;  
    public class myLibrary extends MIDlet {
    
    Form f;    
    Button b;      
    
    public void startApp()  {
        com.sun.lwuit.Display.init(this); 
        private static final int DAY =86400000;
        f = new com.sun.lwuit.Form();
        b = new Button("Enter");
        f.addComponent(b);
        b.addActionListener( new ActionListener()   {
            public void actionPerformed(ActionEvent acv)    {
    
              java.util.Date d = new java.util.Date();
              d.setTime(d.getTime() + DAY);
              System.out.println(""+ d.toString());
            } 
        });
    
        f.show();
    }
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 2011-12-20
      • 2020-05-25
      • 1970-01-01
      相关资源
      最近更新 更多