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.Request
|
||||||
import okhttp3.logging.HttpLoggingInterceptor
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
import java.io.IOException
|
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.Level
|
||||||
import java.util.logging.Logger
|
import java.util.logging.Logger
|
||||||
import javax.servlet.http.HttpServletRequest
|
import javax.servlet.http.HttpServletRequest
|
||||||
|
@ -423,6 +427,21 @@ open class Akismet(apiKey: String, blog: String) {
|
||||||
other = other))
|
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.
|
* Execute an Akismet REST API method.
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
package net.thauvin.erik.akismet
|
package net.thauvin.erik.akismet
|
||||||
|
|
||||||
import org.mockito.Mockito
|
import org.mockito.Mockito
|
||||||
|
import org.testng.Assert.assertEquals
|
||||||
import org.testng.Assert.assertFalse
|
import org.testng.Assert.assertFalse
|
||||||
import org.testng.Assert.assertTrue
|
import org.testng.Assert.assertTrue
|
||||||
import org.testng.Assert.expectThrows
|
import org.testng.Assert.expectThrows
|
||||||
|
@ -40,7 +41,11 @@ import org.testng.annotations.BeforeClass
|
||||||
import org.testng.annotations.Test
|
import org.testng.annotations.Test
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileInputStream
|
import java.io.FileInputStream
|
||||||
|
import java.time.LocalDateTime
|
||||||
|
import java.time.ZoneId
|
||||||
|
import java.time.ZoneOffset
|
||||||
import java.util.Collections
|
import java.util.Collections
|
||||||
|
import java.util.Date
|
||||||
import java.util.Properties
|
import java.util.Properties
|
||||||
import java.util.logging.ConsoleHandler
|
import java.util.logging.ConsoleHandler
|
||||||
import java.util.logging.Level
|
import java.util.logging.Level
|
||||||
|
@ -152,5 +157,17 @@ class AkismetTest {
|
||||||
authorUrl = authorUrl,
|
authorUrl = authorUrl,
|
||||||
content = content,
|
content = content,
|
||||||
isTest = true), "check_comment(request) -> true")
|
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