BAEL-896 Working with dates in Kotlin
-Moved snippets to test, now using assertions instead of println
This commit is contained in:
parent
30ce976481
commit
1cad5abf84
@ -1,31 +0,0 @@
|
||||
package com.baeldung.kotlin.dates
|
||||
|
||||
import java.time.LocalDate
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
fun createDateUsingParseMethodDefaultFormat() {
|
||||
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
println(date)
|
||||
}
|
||||
|
||||
fun createDateUsingParseMethodCustomFormat() {
|
||||
|
||||
var formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy")
|
||||
|
||||
var date = LocalDate.parse("31-12-2018", formatter)
|
||||
|
||||
println(date)
|
||||
}
|
||||
|
||||
fun createDateUsingOfMethod() {
|
||||
var date = LocalDate.of(2018, 12, 31)
|
||||
println(date)
|
||||
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
createDateUsingParseMethodCustomFormat()
|
||||
createDateUsingOfMethod()
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package com.baeldung.kotlin.dates
|
||||
|
||||
import java.time.LocalDate
|
||||
|
||||
fun extractingCommonComponents() {
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
|
||||
println(date.year)
|
||||
println(date.month)
|
||||
println(date.dayOfMonth)
|
||||
}
|
||||
|
||||
fun extractingEraDowDoy() {
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
|
||||
println(date.era)
|
||||
println(date.dayOfWeek)
|
||||
println(date.dayOfYear)
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
extractingCommonComponents()
|
||||
extractingEraDowDoy()
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
package com.baeldung.kotlin.dates
|
||||
|
||||
import java.time.LocalDate
|
||||
import java.time.Period
|
||||
|
||||
fun createAPeriod() {
|
||||
var period = Period.of(1, 2, 3)
|
||||
|
||||
println(period)
|
||||
}
|
||||
|
||||
fun addAPeriod() {
|
||||
var period = Period.of(1, 2, 3)
|
||||
|
||||
var date = LocalDate.of(2018, 6, 25)
|
||||
var modifiedDate = date.plus(period)
|
||||
|
||||
println(modifiedDate)
|
||||
}
|
||||
|
||||
fun subtractAPeriod() {
|
||||
var period = Period.of(1, 2, 3)
|
||||
|
||||
var date = LocalDate.of(2018, 6, 25)
|
||||
var modifiedDate = date.minus(period)
|
||||
|
||||
println(modifiedDate)
|
||||
}
|
||||
|
||||
fun getAPeriod() {
|
||||
|
||||
var date1 = LocalDate.parse("2018-06-25")
|
||||
var date2 = LocalDate.parse("2018-12-25")
|
||||
|
||||
var period = Period.between(date1, date2)
|
||||
println(period)
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
createAPeriod()
|
||||
addAPeriod()
|
||||
subtractAPeriod()
|
||||
getAPeriod()
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package com.baeldung.kotlin.dates
|
||||
|
||||
import java.time.LocalDate
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
fun printDateDefaultFormat() {
|
||||
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
println(date)
|
||||
}
|
||||
|
||||
fun printDateUsingCustomFormat() {
|
||||
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
|
||||
var formatter = DateTimeFormatter.ofPattern("dd-MMMM-yyyy")
|
||||
var formattedDate = date.format(formatter)
|
||||
println(formattedDate)
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
printDateDefaultFormat()
|
||||
|
||||
printDateUsingCustomFormat()
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.baeldung.kotlin.dates
|
||||
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.Test
|
||||
import java.time.LocalDate
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class CreateDateUnitTest {
|
||||
|
||||
@Test
|
||||
fun givenString_whenDefaultFormat_thenCreated() {
|
||||
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
|
||||
assertThat(date).isEqualTo("2018-12-31")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun givenString_whenCustomFormat_thenCreated() {
|
||||
|
||||
var formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy")
|
||||
var date = LocalDate.parse("31-12-2018", formatter)
|
||||
|
||||
assertThat(date).isEqualTo("2018-12-31")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun givenYMD_whenUsingOf_thenCreated() {
|
||||
var date = LocalDate.of(2018, 12, 31)
|
||||
|
||||
assertThat(date).isEqualTo("2018-12-31")
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package com.baeldung.kotlin.dates
|
||||
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.Test
|
||||
import java.time.DayOfWeek
|
||||
import java.time.LocalDate
|
||||
import java.time.Month
|
||||
|
||||
class ExtractDateUnitTest {
|
||||
|
||||
@Test
|
||||
fun givenDate_thenExtractedYMD() {
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
|
||||
assertThat(date.year).isEqualTo(2018)
|
||||
assertThat(date.month).isEqualTo(Month.DECEMBER)
|
||||
assertThat(date.dayOfMonth).isEqualTo(31)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun givenDate_thenExtractedEraDowDoy() {
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
|
||||
assertThat(date.era.toString()).isEqualTo("CE")
|
||||
assertThat(date.dayOfWeek).isEqualTo(DayOfWeek.MONDAY)
|
||||
assertThat(date.dayOfYear).isEqualTo(365)
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package com.baeldung.kotlin.dates
|
||||
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.Test
|
||||
import java.time.LocalDate
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class FormatDateUnitTest {
|
||||
|
||||
@Test
|
||||
fun givenDate_whenDefaultFormat_thenFormattedString() {
|
||||
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
|
||||
assertThat(date.toString()).isEqualTo("2018-12-31")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun givenDate_whenCustomFormat_thenFormattedString() {
|
||||
|
||||
var date = LocalDate.parse("2018-12-31")
|
||||
|
||||
var formatter = DateTimeFormatter.ofPattern("dd-MMMM-yyyy")
|
||||
var formattedDate = date.format(formatter)
|
||||
|
||||
assertThat(formattedDate).isEqualTo("31-December-2018")
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.baeldung.kotlin.dates
|
||||
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.Test
|
||||
import java.time.LocalDate
|
||||
import java.time.Period
|
||||
|
||||
class PeriodDateUnitTest {
|
||||
|
||||
@Test
|
||||
fun givenYMD_thenCreatePeriod() {
|
||||
var period = Period.of(1, 2, 3)
|
||||
|
||||
assertThat(period.toString()).isEqualTo("P1Y2M3D")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun givenPeriod_whenAdd_thenModifiedDate() {
|
||||
var period = Period.of(1, 2, 3)
|
||||
|
||||
var date = LocalDate.of(2018, 6, 25)
|
||||
var modifiedDate = date.plus(period)
|
||||
|
||||
assertThat(modifiedDate).isEqualTo("2019-08-28")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun givenPeriod_whenSubtracted_thenModifiedDate() {
|
||||
var period = Period.of(1, 2, 3)
|
||||
|
||||
var date = LocalDate.of(2018, 6, 25)
|
||||
var modifiedDate = date.minus(period)
|
||||
|
||||
assertThat(modifiedDate).isEqualTo("2017-04-22")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun givenTwoDate_whenUsingBetween_thenDiffOfDates() {
|
||||
|
||||
var date1 = LocalDate.parse("2018-06-25")
|
||||
var date2 = LocalDate.parse("2018-12-25")
|
||||
|
||||
var period = Period.between(date1, date2)
|
||||
|
||||
assertThat(period.toString()).isEqualTo("P6M")
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user