【问题标题】:Need get Time in a 24 hour format while adding Time添加时间时需要以 24 小时格式获取时间
【发布时间】:2011-10-28 01:13:11
【问题描述】:

我写了一个添加时间的函数,如下所示

private void Delay15Minute() {
        String pkManifest = manifest.pkManifestNo;
        manifest_helper = new manifest_helper(this);
        cursor = manifest_helper.GetDeliveries(pkManifest);
        cursor.moveToFirst();
        for (int i = 0; i < cursor.getCount(); i++) {
            cursor.getString(cursor.getColumnIndex("PKDelivery"));
            // String
            // RevisedTime=cursor.getString(cursor.getColumnIndex("RevisedEstimatedDeliveryTime"));
            String RevisedTime = "12:55";

            // get hour and minute from time string
            StringTokenizer st1 = new StringTokenizer(RevisedTime, ":");
            int j = 0;
            int[] val = new int[st1.countTokens()];
            // iterate through tokens
            while (st1.hasMoreTokens()) {
                val[j] = Integer.parseInt(st1.nextToken());
                j++;
            }
            // call time add method with current hour, minute and minutesToAdd,
            // return added time as a string
            String date = addTime(val[0], val[1], 15);
            // Tioast the new time
            Toast.makeText(this, "date is =" + date, Toast.LENGTH_SHORT).show();

        }
            }



public String addTime(int hour, int minute, int minutesToAdd) {
        Calendar calendar = new GregorianCalendar(1990, 1, 1, hour, minute);
        calendar.add(Calendar.MINUTE, minutesToAdd);
        SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
        String date = sdf.format(calendar.getTime());

        return date;
    }

我得到的消息是 01:10,距离开始时间还有 12 小时...

我需要 13:10 格式,即 24 小时格式.....请帮助我

【问题讨论】:

    标签: android


    【解决方案1】:

    您在SimpleDateFormat 模式中使用了hh。那是 12 小时制。请改用kk,它以 24 小时格式为您提供一天中的时间。见SimpleDateFormat

    【讨论】:

    • 感谢您的反馈...我帮我找到解决方案
    • 如果你使用 kk 你会得到类似 24:30 但如果你使用 HH 你可以得到它比如 00:30 .
    【解决方案2】:

    只需创建 Calendar 的实例并获得 24 小时的时间,

    Calendar c = Calendar.getInstance();
    
    int Hr24=c.get(Calendar.HOUR_OF_DAY);
    int Min=c.get(Calendar.MINUTE);
    

    【讨论】:

    • 你是救世主......即使在 HH:mm 没有显示结果之后!谢谢
    【解决方案3】:

    使用此代码

    long date = System.currentTimeMillis();
    
    SimpleDateFormat date1 = new SimpleDateFormat("dd-MM-yyyy"); // for current date
    SimpleDateFormat time1 = new SimpleDateFormat("kk:mm:ss");  // for 24 hour time
    SimpleDateFormat time2 = new SimpleDateFormat("hh:mm:ss");  // for 12 hour time 
    
    String dateString = date1.format(date);    //This will return current date in 31-12-2018 format
    String timeString1 = time1.format(date);  //This will return current time in 24 Hour format
    String timeString2 = time2.format(date);  //This will return current time in 12 Hour format
    
    Log.e("TAG_1", "24 hour Time - " + timeString1);
    Log.e("TAG_1", "24 hour Time - " + timeString1);
    Log.e("TAG_1", "dd-MM-yyyy Date format - " + dateString);
    

    打开你的logcat 来查看结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多