Skip to main content

How to Convert a String to Date in Java


How to Convert a String to Date in Java

Converting a string to a date in Java (or any programming language) is a fundamental skill and is useful to know when working on projects. Sometimes, it is easier to work with a string to represent a date, and then convert it to a date object for further use.

Date  API

The Date / Time API in Java works by default with the ISO 8601 format, which is (yyyy-MM-dd).By default all dates follow this format, and all strings that are converted should follow this if they are using the default formatter.

parse()

The date-time API provides parse () methods to parse a string that contains date information. To convert string objects to LocalDateTime objects, the string must represent a valid date or time according to ISO_LOCAL_DATE

Example, let's convert a String to a java.time.LocalDate:

LocalDate date = LocalDate.parse("2018-05-05");

Parse API with a Custom Formate

This format specifies three characters for the full day name of the week, one digit to represent the day of the month, three characters to represent the month, and four digits to represent the year.

String dateInString = "Mon, 05 May 1990";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE, d MMM yyyy", Locale.ENGLISH);
LocalDate dateTime = LocalDate.parse(dateInString, formatter);

In this tutorial, we will show you how to convert a string to java.util.Date. Many Java are stuck in early date conversion, hope this summary guide will help you in some ways.

// String -> Date
    SimpleDateFormat.parse(String);

    // Date -> String
    SimpleDateFormat.format(date);

Common Date and Time Patterns

  • y – Year (1998; 98)
  • M – Month in year (July; Jul; 10)
  • d – Day in month (1-31)
  • E – Day name in week (Friday, Sunday)
  • a Am/pm marker (AM, PM)
  • H – Hour in day (0-23)
  • h – Hour in am/pm (1-12)
  • m – Minute in hour (0-60)
  • s – Second in minute (0-60)

Adding Time Zone Information to java.util.Date


It is important to note that java.util.Date has no concept of time zone, and only represents the number of seconds passed since the Unix era - 1979-01-01T00: 00: 00Z.
But, when we print the date object directly, it will always be printed with the Java default system time zone.
In this last example, we'll look at how to format the date by adding time zone information:

Convert String to Date: Function


After this section I have shared a complete example to display the string in various date formats for date conversion. For those who want only one function for this conversion, here is the function code:




// Java program to convert String to Date 
 
import java.time.Instant; 
import java.time.format.DateTimeParseException; 
 
class GFG { 
 
        // Function tot convert String to Date 
        public static Instant getDateFromString(String string) 
        { 
 
               // Create an Instant object 
               Instant timestamp = null; 
 
               // Parse the String to Date 
               timestamp = Instant.parse(string); 
 
               // return the converted timestamp 
               return timestamp; 
        } 
 
        public static void main(String[] args) 
        { 
               // Get the String 
               String string = "2018-10-28T15:23:01Z"; 
 
               // Get the Date from String 
               try { 
 
                       Instant timestamp = getDateFromString(string); 
 
                       // Print the converted Date 
                       System.out.println(timestamp); 
               } 
 
               // Throws DateTimeParseException 
               // if the string cannot be parsed 
               catch (DateTimeParseException e) { 
 
                       System.out.println("Exception: " + e); 
               } 
        } 
}
 
 
Output:

2018-10-28T15:23:01Z

Comments

Popular posts from this blog

Unity Mobile Game Optimization Checklist

- On Image and Text components that aren’t interacted with you can uncheck “Raycast Target” on it, as it will remove them from any Raycast calculus. - Click on your textures in your “Project” window. Click on the “Advanced” arrow, and now check “Generate Mip Maps”, Unity especially recommends it for faster texture loading time and a lower rendering time. - Set the “Shadow Cascades” to “No Cascades” (Quality settings) - If you have dynamic UI elements like a Scroll Rect with a lot of elements to visualize, a good practice is to turn off the pixel perfect check box on the canvas that contains the list and disable the items that aren’t visible on the screen. - Set all non moving objects to "Static" - Above Unity3d 2017.2 you should turn off "autoSyncTransforms" on the Physics tab - Always use Crunch Compression Low on textures - Try to keep the “Collision Detection Mode” on “Discrete” if possible, as “Dynamic” demands more performance. - You can go to the TimeManager w...

How to make download file button in react js

To create a download file button in React.js, follow these steps: Import the necessary dependencies: javascript Copy code import React from 'react' ; import { saveAs } from 'file-saver' ; Create a function that handles the download action: javascript Copy code const handleDownload = ( ) => { // Create a new Blob object with the desired content const fileContent = 'This is the content of the file you want to download.' ; const blob = new Blob ([fileContent], { type : 'text/plain;charset=utf-8' }); // Use the saveAs function from the file-saver library to initiate the download saveAs (blob, 'download.txt' ); }; Create a button component and attach the handleDownload function to the button's onClick event: javascript Copy code const DownloadButton = ( ) => { return ( < button onClick = {handleDownload} > Download File </ button > ); }; Use the DownloadButton component wherever ...

How to Convert Unreal Engine 5.1 Blueprint Project to C++ Project

To begin, open your project in the Unreal Engine 5 or a newer version of the editor.  Next, access the New C++ Class Dialog by selecting Tools and then New C++ Class .  From there, create a new "None" class and press "Create Class."  You might receive a warning message regarding the game module compilation, but you can disregard it and choose "No."  After closing any pop-ups, warnings, or success notifications, exit the Editor.  Proceed to your project's folder, right-click on the .uproject file, and select "Generate Visual Studio project files."  Double-click your project's .sln file to open it in Visual Studio.  In Visual Studio's Solution Explorer, find and choose your project.  Select "Development Editor" in the build configuration drop-down menu.  Right-click on your project and select "Build" to compile it without any errors.  Afterward, set the build configuration drop-down menu to "Development" ...