1. Introduction
In this tutorial, You'll learn how to get the current date and time in kotlin. Further, you will see the examples how to get the default date and time, getting date in a specified pattern or format and also showing programs on locales.
Java : jdk1.8.0_251
Kotlin: 1.3
If you are new to Kotlin, you can set up Kotlin in Intelleji Idea.
2. Kotlin - Get Current Date and Time as Default Format
[package com.javaprogramto.kotlin.date.time
import java.time.LocalDateTime
fun main(args: Array<String>){
var timeNow = LocalDateTime.now();
println("Current time now in default format : $timeNow");
}]
Output:
[Current time now in default format : 2020-04-28T12:23:47.420]
Go through the Java 8 Date Time API Changes
In the above program, We are calling LocalDateTime.now() method that returns the instance of LocalDateTime. Whereas in Kotlin, you can assign any type to var. So it takes the correct object at compile time.
So, here, it won't give any compile-time errors.
By default, when you print the timeNow variable then it internally converts the data into String by invoking the toString() method.
3. Kotlin - Get Current Date and Time in a Pattern
Another, example to get the date as in our own or custom pattern.[package com.javaprogramto.kotlin.date.timeOutput:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
fun main(args: Array<String>) {
val now = LocalDateTime.now()
val formatter = DateTimeFormatter.ofPattern("yyyy-MMM-dd HH:mm:ss.SSS")
val formatted = now.format(formatter)
println("Current Date and Time in a pattern is: $formatted")
}]
[Current Date and Time in a pattern is: 2020-Apr-28 12:40:10.472]
Execution Steps:
First, Created a date object with LocalDateTime.now() and storing the result into the variable "now".
Next, Created a pattern in which you want to get the date format. In this example, we have used "yyyy-MMM-dd HH:mm:ss.SSS"" this format. It indicates "year-[month-first-three-characters]-day hours:minutes:seconds.milliseconds"
Finally, Invoke the format() method on the current time "now" variable and pass formatter as now.format(formatter). As a result, it produces the output as String.
We can customize the format as you want.
below example to get the only date without the time part. The pattern plays a vital role here in formatting the desired date format.
[val newFomat = DateTimeFormatter.ofPattern("yyyy-MM-dd")
val onlyDateWithoutTime = current.format(newFomat)]
println("Getting only date from current date in a pattern is: $onlyDateWithoutTime")
Output:
[Getting only date from current date in a pattern is: 2020-04-28]
4. Kotlin - Get Current Date and Time Using Built-in API Formats or Constants
Another set of examples but here java api comes with set of predefined constants as formats.DateTimeFormatter class has a set of constants defined in the class.
[package com.javaprogramto.kotlin.date.timeOutput:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
fun main(args: Array<String>) {
var timeNow = LocalDateTime.now()
var iso_format = DateTimeFormatter.BASIC_ISO_DATE;
var output = timeNow.format(iso_format);
println("Current in different formats : ")
println("ISO fomratted date $output")
}]
Current in different formats :
ISO fomratted date 20200428
Another set of predefined constants.
[var newTimeNow = LocalDateTime.now()
// var iso_instant_format = DateTimeFormatter.ISO_INSTANT;// output = newTimeNow.format(iso_instant_format);// println("ISO instant fomratted date $output")// var iso_week_date_format = DateTimeFormatter.ISO_WEEK_DATE;
output = newTimeNow.format(iso_week_date_format);
println("ISO week date and time fomratted date $output")
// var iso_rfc_1123_date_format = DateTimeFormatter.RFC_1123_DATE_TIME; //output = newTimeNow.format(iso_rfc_1123_date_format); //println("ISO RFC 1123fomratted date $output")
var iso_time_format = DateTimeFormatter.ISO_DATE_TIME;
output = newTimeNow.format(iso_time_format);
println("ISO date and time fomratted date $output")
var iso_local_time_format = DateTimeFormatter.ISO_LOCAL_TIME;
output = newTimeNow.format(iso_local_time_format);
println("ISO local time fomratted date $output")]
Output:
ISO week date and time fomratted date 2020-W18-2
ISO date and time fomratted date 2020-04-28T13:11:21.295
ISO local time fomratted date 13:11:21.295
5. Kotlin - Get Current Date and Time Using Built-in API Formats or Constants
[package com.javaprogramto.kotlin.datesOutput:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import java.time.format.FormatStyle
fun main(args: Array<String>) {
var current = LocalDateTime.now()
var fullLocaleFormat = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
var fullLocaleTime = current.format(fullLocaleFormat)
println("Current Date and Time in full locale : $fullLocaleTime")
}]
[Current Date and Time in full locale : Tuesday, April 28, 2020]
As well as, you can also use other formatting styles LONG, MEDIUM, and SHORT.
[var longLocaleFormat = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
var longLocaleTime = current.format(longLocaleFormat)
println("Current Date and Time in long locale : $longLocaleTime")
var mediumLocaleFormat = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
var midiumLocaleTime = current.format(mediumLocaleFormat)
println("Current Date and Time in medium locale : $midiumLocaleTime")
var shortLocaleFormat = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);
var shortLocaleTime = current.format(shortLocaleFormat)
println("Current Date and Time in short locale : $shortLocaleTime")]
Output:
[Current Date and Time in long locale : April 28, 2020
Current Date and Time in medium locale : Apr 28, 2020
Current Date and Time in short locale : 4/28/20]
6. Conclusion
In conclusion, You've seen how to get the current time in Kotlin. And also seen getting the date in different formats.
All the code shown is over git hub.
Share the article, you can download the all Kotlin Example programs discussed as of now in all articles. It is completely free.
[lock]
[View on GitHub ##eye##]
[Download ##file-download##]
[/lock]
[View on GitHub ##eye##]
[Download ##file-download##]
[/lock]
0 Comments