【问题标题】:How to check start time and end time in android?如何在android中检查开始时间和结束时间?
【发布时间】:2014-07-03 08:03:33
【问题描述】:

我开发安卓应用。我的问题是字符串开始时间和结束时间。我想开始时间大于当前时间和当前时间小于结束时间。如何在 android 中实现我的代码如下。请帮我!!!

 String sTartTime ="8:0" ;
    String eNdTime = "20:20";
    Calendar c = Calendar.getInstance();
    SimpleDateFormat formatShort = new SimpleDateFormat("H:m", Locale.US);
    String formattedtime = formatShort.format(c.getTime());

 try {

                    String string1 = eNdTime;
                    Date time1 =  new SimpleDateFormat("HH:mm:ss").parse(string1);
                    Calendar calendar1 = Calendar.getInstance();
                    calendar1.setTime(time1);

                    String string2 = sTartTime;
                    Date time2 = new SimpleDateFormat("HH:mm:ss").parse(string2);
                    Calendar calendar2 = Calendar.getInstance();
                    calendar2.setTime(time2);
                    calendar2.add(Calendar.DATE, 1);

                    String someRandomTime = formattedtime;
                    Date d =  new SimpleDateFormat("HH:mm:ss").parse(someRandomTime);
                    Calendar calendar3 = Calendar.getInstance();
                    calendar3.setTime(d);
                    calendar3.add(Calendar.DATE, 1);

                    Date x = (Date) calendar3.getTime();
                    if (x.after(calendar1.getTime()) && x.before(calendar2.getTime())) {
                        //checkes whether the current time is between 14:49:00 and 20:11:13.
                         Log.v("log_tag", "Time check today True " );
                    }else{
                        Log.v("log_tag", "Time check today false " );
                    }
                } catch (ParseException e) {
                    e.printStackTrace();
                }

但我无法获取日期对象。我收到错误类型不匹配:无法从 java.util.Date 转换为 java.sql.Date

谢谢!!!

【问题讨论】:

  • 您能说明一下您要做什么吗?
  • 我更新了我的代码。我不能约会对象。

标签: android date time


【解决方案1】:

删除 java.sql.Date 的导入。我已经测试了你的代码,它正在做一些小的调整。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

class HelloWorldApp {

public static void main(String[] args) {
    System.out.println("Hello World!"); // Display the string.
    String sTartTime ="8:0:0" ;
    String eNdTime = "16:20:00";
    String nowTime = "12:20:00";

    try {

        String string1 = eNdTime;
        Date endDate =  new SimpleDateFormat("HH:mm:ss").parse(string1);

        String string2 = sTartTime;
        Date beforeDate = new SimpleDateFormat("HH:mm:ss").parse(string2);

        String someRandomTime = nowTime;
        Date inBeforeDate =  new SimpleDateFormat("HH:mm:ss").parse(someRandomTime);

        if (inBeforeDate.after(beforeDate) && inBeforeDate.before(endDate)) {
            //checkes whether the current time is between 14:49:00 and 20:11:13.
            System.out.println("log_tag" + "Time check today True " );
        }else{
            System.out.println("log_tag" + "Time check today false " );
        }
    } catch (ParseException e) {
        e.printStackTrace();
    }
}
}

【讨论】:

  • thnax 回复但总是打印其他部分,我想当前日期开始和结束时间当前日期。怎么可能。请帮助我
  • @crickpatel0024 我已经编辑了代码。再过一遍。 .
猜你喜欢
  • 2015-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-06
相关资源
最近更新 更多