如何在黑莓上比较2次?

时间:2012-02-01 19:59:56

标签: java blackberry blackberry-eclipse-plugin

在我的应用程序中,我使用DateField获取未来时间,并将时间保存为字符串,如 2012年2月1日23:49 ,以制定工作计划。我想把这个时间与时间流比较。如果时间表 = 时间当前 + 4小时,则会出现一个对话框提醒您正常工作。 但比较2次是如此困难。因为它取决于某些情况示例AM或PM,或者如果时间表 2月1日凌晨01:00 且时间当前是 1月21日21:00 ,则对话框也会显示

如果时间安排=时间当前+4小时,有人可以帮我正确比较吗?

3 个答案:

答案 0 :(得分:1)

以相同的格式节省时间意味着像 2012年2月1日23:49 这样,并且如果它在Am或Pm中的第二次比较,则将其更改为24小时格式。并比较或将Date转换为String并比较String。如果两个String都相等,那么执行任务。

答案 1 :(得分:1)

试试这个

import net.rim.device.api.io.http.HttpDateParser;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.container.MainScreen;

public class StartUp extends UiApplication {
    /**
     * Entry point for application
     */
     public static void main(String[] args) {
         StartUp start=new StartUp();
         start.enterEventDispatcher();

     }
    /**
     * Creates a new StartUp object
     */
    public StartUp() {
        // Push a screen onto the UI stack to have something to render before we attempt

        pushScreen(new DateComparision());



    }
    class DateComparision extends MainScreen
    {
        public DateComparision() 
        {
            String first="31 Jan 2012 23:49:01";//formate should same 
            long time1=HttpDateParser.parse(first)+(4*60*60*1000);//means after 4 hours 
            //time1= 1328068141000
            String second="1 Feb 2012 03:49:01";
            long time2=HttpDateParser.parse(second);
            //time2=1328068141000
            System.out.println(time2+"  "+time1);
            if(time2==time1){
                displayMessage("Mached");
            }else 
            {
                displayMessage("Not Mached");
            }
        }
    }
    public static void displayMessage(final String data){
        UiApplication.getUiApplication().invokeLater(new Runnable() {
            public void run() {
                Dialog.inform(data);
            }
        });
    }
}

答案 2 :(得分:0)

您需要'规范化'日期:使用java.util.date返回的Unix时间戳。