Added dateToGmt() function.

This commit is contained in:
Erik C. Thauvin 2019-09-19 12:24:15 -07:00
parent c7eb6518ac
commit 4b018f926a
2 changed files with 36 additions and 0 deletions

View file

@ -39,6 +39,10 @@ import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.logging.HttpLoggingInterceptor
import java.io.IOException
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.ZoneOffset
import java.util.Date
import java.util.logging.Level
import java.util.logging.Logger
import javax.servlet.http.HttpServletRequest
@ -423,6 +427,21 @@ open class Akismet(apiKey: String, blog: String) {
other = other))
}
/**
* Convert a [Date][java.util.Date] to a UTC timestamp (xxxGmt parameters).
*/
@JvmOverloads
fun dateToGmt(date: Date, zoneId: ZoneId = ZoneId.systemDefault()): String {
return dateToGmt(LocalDateTime.ofInstant(date.toInstant(), zoneId))
}
/**
* Convert a [LocalDateTime][java.time.LocalDateTime] to a UTC timestamp (xxxGmt parameters).
*/
fun dateToGmt(date: LocalDateTime): String {
return date.atZone(ZoneOffset.UTC)?.toEpochSecond().toString()
}
/**
*
* Execute an Akismet REST API method.

View file

@ -33,6 +33,7 @@
package net.thauvin.erik.akismet
import org.mockito.Mockito
import org.testng.Assert.assertEquals
import org.testng.Assert.assertFalse
import org.testng.Assert.assertTrue
import org.testng.Assert.expectThrows
@ -40,7 +41,11 @@ import org.testng.annotations.BeforeClass
import org.testng.annotations.Test
import java.io.File
import java.io.FileInputStream
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.ZoneOffset
import java.util.Collections
import java.util.Date
import java.util.Properties
import java.util.logging.ConsoleHandler
import java.util.logging.Level
@ -152,5 +157,17 @@ class AkismetTest {
authorUrl = authorUrl,
content = content,
isTest = true), "check_comment(request) -> true")
@Test
fun dateToGmtTest() {
val date = Date()
val localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault())
assertEquals(
akismet.dateToGmt(date),
akismet.dateToGmt(localDateTime),
"dateGmt(date) == dateGmt(localDateTime)")
assertEquals(
localDateTime.atOffset(ZoneOffset.UTC).toEpochSecond(),
akismet.dateToGmt(date).toLong(),
"localDateTime = dateGmt")
}
}