Added dateToGmt() function.
This commit is contained in:
parent
c7eb6518ac
commit
4b018f926a
2 changed files with 36 additions and 0 deletions
|
@ -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.
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue