mirror of
https://github.com/divkit/divkit.git
synced 2026-05-07 20:02:32 +00:00
Support getTimestamp in android
commit_hash:7475956d89071e33339c71f4a35eb4f73065e47b
This commit is contained in:
+1
@@ -119,6 +119,7 @@ internal object BuiltinFunctionProvider : FunctionProvider {
|
||||
registry.register(GetMinutes)
|
||||
registry.register(GetSeconds)
|
||||
registry.register(GetMillis)
|
||||
registry.register(GetTimestamp)
|
||||
registry.register(FormatDateAsLocal)
|
||||
registry.register(FormatDateAsUTC)
|
||||
registry.register(FormatDateAsLocalWithLocale)
|
||||
|
||||
+20
@@ -530,6 +530,26 @@ internal object GetMillis : Function() {
|
||||
}
|
||||
}
|
||||
|
||||
internal object GetTimestamp : Function() {
|
||||
|
||||
override val name = "getTimestamp"
|
||||
|
||||
override val declaredArgs = listOf(
|
||||
FunctionArgument(type = EvaluableType.DATETIME)
|
||||
)
|
||||
override val resultType = EvaluableType.INTEGER
|
||||
override val isPure = true
|
||||
|
||||
override fun evaluate(
|
||||
evaluationContext: EvaluationContext,
|
||||
expressionContext: ExpressionContext,
|
||||
args: List<Any>
|
||||
): Any {
|
||||
val datetime = args[0] as DateTime
|
||||
return datetime.timestampMillis
|
||||
}
|
||||
}
|
||||
|
||||
internal object FormatDateAsLocal : Function() {
|
||||
override val name = "formatDateAsLocal"
|
||||
|
||||
|
||||
+17
@@ -97,4 +97,21 @@ class DateTimeFunctionsTest {
|
||||
|
||||
Assert.assertEquals(dateTime.toString(), formattedDateTime)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun getTimestampReturnsDateTimeInMilliseconds() {
|
||||
val timestampMillis = 1772107200000L
|
||||
val dateTime = DateTime(
|
||||
timestampMillis,
|
||||
TimeZone.getTimeZone("GMT+1")
|
||||
)
|
||||
|
||||
val result = GetTimestamp.invoke(
|
||||
evaluationContext,
|
||||
expressionContext,
|
||||
args = listOf(dateTime)
|
||||
)
|
||||
|
||||
Assert.assertEquals(timestampMillis, result)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -752,6 +752,14 @@
|
||||
"en": "Datetime value, date to get milliseconds.",
|
||||
"ru": "Значение даты и времени, дата для получения миллисекунд."
|
||||
},
|
||||
"gettimestamp_datetime": {
|
||||
"en": "Returns the datetime value as timestamp in milliseconds.",
|
||||
"ru": "Возвращает значение даты и времени в миллисекундах."
|
||||
},
|
||||
"gettimestamp_datetime_arg0": {
|
||||
"en": "Datetime value to convert to timestamp in milliseconds.",
|
||||
"ru": "Значение даты и времени для преобразования в миллисекунды."
|
||||
},
|
||||
"getminutes_datetime": {
|
||||
"en": "Returns minutes number of original date.",
|
||||
"ru": "Возвращает значение минут исходной даты."
|
||||
|
||||
Reference in New Issue
Block a user