Support getTimestamp in android

commit_hash:7475956d89071e33339c71f4a35eb4f73065e47b
This commit is contained in:
grechka62
2026-03-06 16:42:30 +03:00
parent 25086326f4
commit 8437c19b1b
4 changed files with 46 additions and 0 deletions
@@ -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)
@@ -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"
@@ -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)
}
}
+8
View File
@@ -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": "Возвращает значение минут исходной даты."