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