Skip to main content

Date Utility Class in Java

 * Date Util might be useful in your daily activities.

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

 * @author bhargav
public class DateUtil {

    private DateUtil() {


     * @param args
    public static void main(String[] args) {

        //Date date = new Date();
        //Another way to get the current date from Calender object is
        Date utilDate = Calendar.getInstance().getTime();
        System.out.println("Default Util Curent Date and time :" + utilDate);
        SimpleDateFormat DATE_FORMAT = null;

        DATE_FORMAT = new SimpleDateFormat("dd-MM-YYYY");
        System.out.println("dd-MM-YYYY Formatted Date " + DATE_FORMAT.format(utilDate));

        DATE_FORMAT = new SimpleDateFormat("dd-MM-YY");
        System.out.println("dd-MM-YY Formatted Date " + DATE_FORMAT.format(utilDate));
           //Capital HH denotes hours in 24 hours format where as
          //Small 'hh' denotes 12 hours format in 'am' and 'pm'
        DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy:HH:mm:SS");
        System.out.println("dd-MM-yy:HH:mm:SS Formatted Date  " +                     DATE_FORMAT.format(utilDate));

        //HH denotes hours in 24 hours format where as 'hh' denotes 12 hours format in 'am' and 'pm'
        DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy:HH:mm:SS Z");
        System.out.println("dd-MM-yy:HH:mm:SS Z Formatted Date  " + DATE_FORMAT.format(utilDate));

        DATE_FORMAT = new SimpleDateFormat("MM/dd/yyyy");
        System.out.println("MM/dd/yyyy Formatted Date " + DATE_FORMAT.format(utilDate));
        //Default SQL Date
        java.sql.Date sqlDate = new java.sql.Date(new Date().getTime());
        System.out.println(" java.util.Date into java.sql.Date --> "+sqlDate);
        //SQL Date in YYY-MM-dd format
        System.out.println("Default Util Date :" + new SimpleDateFormat("YYY-MM-dd").format(utilDate));
        //Be always remember that Converting java.util.Date to java.sql.Date will lose the hours,minutes and seconds
        //converting Util Date to Sql Date
        java.sql.Date sqlDate1 = getSqlFromUtilDate(utilDate);
        System.out.println(" java.util.Date into java.sql.Date --> "+sqlDate1);
        //converting Sql Date to Util Date to
        java.sql.Date sqlDate2 = new java.sql.Date(Calendar.getInstance().getTime().getTime());
        System.out.println("Converion of sql Date into util Date: "+geUtilFromSqlDate(sqlDate2));
     * @param date
     * @return
    public static java.sql.Date getSqlFromUtilDate(java.util.Date date) {
        java.sql.Date sqlDate = new java.sql.Date(date.getTime());
        return  sqlDate;
     * @param date
     * @return
    public static java.util.Date geUtilFromSqlDate(java.sql.Date date) {
        Date utilDate = new Date(date.getTime());
        return utilDate;


  LocalDate date =;
  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy MM dd");
  String text = date.format(formatter);
  LocalDate parsedDate = LocalDate.parse(text, formatter);
All letters 'A' to 'Z' and 'a' to 'z' are reserved as pattern letters. The following pattern letters are defined:
  Symbol  Meaning                     Presentation      Examples
  ------  -------                     ------------      -------
   G       era                         text              AD; Anno Domini; A
   u       year                        year              2004; 04
   y       year-of-era                 year              2004; 04
   D       day-of-year                 number            189
   M/L     month-of-year               number/text       7; 07; Jul; July; J
   d       day-of-month                number            10

   Q/q     quarter-of-year             number/text       3; 03; Q3; 3rd quarter
   Y       week-based-year             year              1996; 96
   w       week-of-week-based-year     number            27
   W       week-of-month               number            4
   E       day-of-week                 text              Tue; Tuesday; T
   e/c     localized day-of-week       number/text       2; 02; Tue; Tuesday; T
   F       week-of-month               number            3

   a       am-pm-of-day                text              PM
   h       clock-hour-of-am-pm (1-12)  number            12
   K       hour-of-am-pm (0-11)        number            0
   k       clock-hour-of-am-pm (1-24)  number            0

   H       hour-of-day (0-23)          number            0
   m       minute-of-hour              number            30
   s       second-of-minute            number            55
   S       fraction-of-second          fraction          978
   A       milli-of-day                number            1234
   n       nano-of-second              number            987654321
   N       nano-of-day                 number            1234000000

   V       time-zone ID                zone-id           America/Los_Angeles; Z; -08:30
   z       time-zone name              zone-name         Pacific Standard Time; PST
   O       localized zone-offset       offset-O          GMT+8; GMT+08:00; UTC-08:00;
   X       zone-offset 'Z' for zero    offset-X          Z; -08; -0830; -08:30; -083015; -08:30:15;
   x       zone-offset                 offset-x          +0000; -08; -0830; -08:30; -083015; -08:30:15;
   Z       zone-offset                 offset-Z          +0000; -0800; -08:00;


Popular posts from this blog

Maven Build Life Cyles

Following are the maven build life cycles.

Clean - Removes the generated files in 'target' folder.

command : mvn clean

Validate - It validates your project and verify all the necessary information is there in project or not.

mvn  valiate

Compile - It compiles your project code.

mvn compile

Package - It takes the compiled code and packaged to JAR/WAR/EAR. It also compiles your code if your code is not compiled.

mvn package

Install -   It takes the packaged code and puts in your local maven repository (M2_HOME). It also does the compile and package if these are not already been done.

mvn install

Deploy - It takes the package and puts in remote repository for sharing accross team members or for other projects.

mvn deploy

FYI - Above commands can be used as variety of combinations.
e.g. mvn clean install
mvn clean package
mvn clean compile package install

To skip the tests to run 
mvn clean install -DskipTests

NO SQL Types and vendors in market


KEY - VALUE Store  - Similar to a  MAP.
   e.g. Dynamo DB or REDIS

DOCUMENT Sore  - Similar to KEY-VALUE, value can be JSON/XML and key will be unqiuely idnetified this document.
   e.g. Coutch DB or mongoDB.

Column Store - Multi timentional table, identifying data with row and column numbers.
  e.g.  Cassandra or Apache HBase

Graph Store - Store relation between nodes (record entities). It has better transaction management
e.g. Neo4J and Orient DB.