Java Hour Calculate setHours(Date date, int amount)

Here you can find the source of setHours(Date date, int amount)

Description

Sets the hours field to a date returning a new object.

License

Apache License

Parameter

Parameter Description
date the date, not null
amount the amount to set

Exception

Parameter Description
IllegalArgumentException if the date is null

Return

a new Date object set with the specified value

Declaration

public static Date setHours(Date date, int amount) 

Method Source Code

//package com.java2s;
//License from project: Apache License 

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

public class Main {
    public static SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");

    /**//from  ww w  .  j av a  2  s. c  o m
     * Sets the hours field to a date returning a new object.  Hours range 
     * from  0-23.
     * The original date object is unchanged.
     *
     * @param date  the date, not null
     * @param amount the amount to set
     * @return a new Date object set with the specified value
     * @throws IllegalArgumentException if the date is null
     * @since 2.4
     */
    public static Date setHours(Date date, int amount) {
        return set(date, Calendar.HOUR_OF_DAY, amount);
    }

    /**
     * Sets the specified field to a date returning a new object.  
     * This does not use a lenient calendar.
     * The original date object is unchanged.
     *
     * @param date  the date, not null
     * @param calendarField  the calendar field to set the amount to
     * @param amount the amount to set
     * @return a new Date object set with the specified value
     * @throws IllegalArgumentException if the date is null
     * @since 2.4
     */
    private static Date set(Date date, int calendarField, int amount) {
        if (date == null) {
            throw new IllegalArgumentException("The date must not be null");
        }
        // getInstance() returns a new object, so this method is thread safe.
        Calendar c = Calendar.getInstance();
        c.setLenient(false);
        c.setTime(date);
        c.set(calendarField, amount);
        return c.getTime();
    }

    public static String getTime(String pattern) {
        return new SimpleDateFormat(pattern).format(new Date());
    }
}

Related

  1. parseDate(String date, String hours)
  2. plusHour(int hour)
  3. plusHour(String dateStr, int hour)
  4. plusHours(Date date, int hours)
  5. plusOrMinusHours(Date dateTime, long count)
  6. toStringHour(int hours, int minutes, int seconds, int millis)
  7. toTime(int hours, int minutes, int seconds)
  8. trimToHour(Date date)