Skip to main content

Date Utility Class in Java

/**
 * Date Util might be useful in your daily activities.
 */
package com.sbs.dateutil;

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 = LocalDate.now();
  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;


Comments

Popular posts from this blog

Compress a String

package com.sbs.java8.praticse; public class StringCompression { public StringCompression() { // TODO Auto-generated constructor stub } public static void main(String[] args) { System.out.println(compressString("aaaabbbbbccccAAAAccccccccdefg")); } public static String compressString(String str) { //String str = "aaaabbbbbcccc"; char[] charArray = str.toCharArray(); String compressedString = ""; int i = 0; while (i charArray.length)? str: compressedString; return output; } }

String Pool Vs String Definition (Using 'new' Operator)

Strings can be defined in Java in two ways. 1. String Literals 2  Traditional way(using 'new' operator) String Literals If a String is created by using String literal notation, memory will be allocated directly in string pool. String pool is subset of Heap memory (Where objects will be created). e.g. String companyName = "Surimenus";      String empName= "Bhargav";       Using 'New' Operator If a String is created using new operator, memory will be allocated in Heap Memory not in String pool. e.g. String companyName = new String("Surimenus"); String empName= new String("Bhargav"); String Pool vs Using 'new' Operator String which are created in String pool will re-reference by reference which contains the same content. For example consider the following. String cn1 = "Surimenu"; String cn2 = "Surimenu"; In the above scenario cn1 and cn2 references having the same content and these are created in Strin...

Self Signed Certificates Vs Signed Certificates (CA Certificates)

Certificates Certificates basically two categories. Self Signed Certificates  - will create by self CA Certificates  - will be  provided by Third party vendor with robust algorithms Depends on the location of installing the certificate these are two types 1. Public Key Certificates (Client Side) 2. Private Key Certificates (Server Side) Self Signed Certificates   If any one is using self signed certificates in their applications they have to make sure both server side and client side certificates are in sync. Other wise we should be ready to face SSLHandShake Exceptions. These will be preferable mostly for lower environments not for production. CA certificates  If you install CA certificates on server side, client side certificates are installed automatically whenever they access the server. So in production for CA certificates there is no need to install the client side certificates. We can generate a Self Signed Certificate using Java Key tool JAVA_HOME/bi...