Java中由Calendar类获取的月、天和小时的简单处理

原创 2017年01月03日 12:26:58

在Java中,Calendar是日期处理的一个重要的类。但是,我们使用Calendar获取的月份,天,小时等可能需要进行简单的处理才能满足我们的需要。比如,月份范围是0-11,而我们可能需要的是1-12;返回值是1位整数,我们可能需要转换成2位整数等。下面是一个非常简单的小例子:

package com.qs.number;

import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;

public class Utils {

    public static Map<String, String> dealMonthDayHour(int month, int day, int hour) {

        Map<String, String> month_day_hour = new HashMap<String, String>();

        month = month % 12 + 1;// get the real month 
        month_day_hour.put("month", dealZeroToNine(month));
        month_day_hour.put("day", dealZeroToNine(day));
        month_day_hour.put("hour", dealZeroToNine(hour));

        return month_day_hour;
    }

    public static String dealZeroToNine(int num) {
        if (num >= 1 && num <= 9) {
            return "0" + num;
        }
        return "" + num;
    }

    //
    //
    //
    //

    @Test
    public void showYearMonthDayHour() {
        Calendar calendar = Calendar.getInstance();
        String year = String.valueOf(calendar.get(Calendar.YEAR));
        Map<String, String> month_day_hour = Utils.dealMonthDayHour(calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.HOUR_OF_DAY));
        String month = month_day_hour.get("month");
        String day = month_day_hour.get("day");
        String hour = month_day_hour.get("hour");
        System.out.println(year + "\t" + month + "\t" + day + "\t " + hour);
    }

}

输出如下:

2017    01  03   12
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java 格式化时间获取小时和分钟 并按照24小时制

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); Time pro = rs.getTime("program_time"); Str...

Java获取时间差(天数差,小时差,分钟差)

网上有很多博文是讲如何获取时间差的,我看了一下,多数是使用Calendar类来实现,但是都讲得比较乱,在这里我用SimpleDateFormat来实现,比较简单,我认为比较适合拿来用。 首先我们先初始...
  • jeffleo
  • jeffleo
  • 2016年08月10日 20:51
  • 30189

Java Calendar获取年、月、日、时间

Java Calendar获取年、月、日、时间   Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));  ...

Calendar类 Calendar.HOUR(12小时制) 和 Calendar.HOUR_OF_DAY(24小时制)

今天发现调度器设置成上午的时间执行,下午的时间不执行。 查看代码发现:Calendar.HOUR_OF_DAY (24小时)设置成 Calendar.HOUR (12小时)造成的。时间不对 int...

Java Calendar 类的时间操作

Java Calendar 类时间操作,这也许是创建日历和管理最简单的一个方案,示范代码很简单。 演示了获取时间,日期时间的累加和累减,以及比较。   package MyTest; import ...
  • joyous
  • joyous
  • 2013年07月30日 17:53
  • 285557

java时间处理Calendar使用小记

我理解Calendar类主要对于获取某些特定特殊的时间时特别方便,比如月的最后一天,月的某一个星期,星期的某一天,年的某一天等等,并且和date类相互可以转换 注意: Calendar.MONTH ...

Java获取系统时间的四种方法

1、Date day=new Date();     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  Sys...
  • jiangeeq
  • jiangeeq
  • 2016年11月09日 18:07
  • 12226

Java获取当前时间的年月日时分秒方法

package com.ob; import java.text.ParseException; import java.text.SimpleDateFormat; import java.uti...

Java获取当前时间的年月日方法

package com.ob; import java.text.ParseException; import java.text.SimpleDateFormat; import java.uti...
  • kookob
  • kookob
  • 2011年10月18日 17:13
  • 258120

Java获取某个月的天数

不同的月可能有不同的天数, 有的是30天, 有的是31天, 对于二月的天数判断还得先判断是平年还是闰年, 所以如果自己写代码判断会比较麻烦, 其实java.util.Calendar中已经提供了获取天...
  • wtopps
  • wtopps
  • 2015年09月07日 10:27
  • 14254
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中由Calendar类获取的月、天和小时的简单处理
举报原因:
原因补充:

(最多只允许输入30个字)