мое приложение принимает строку типа «2002-10-15 10: 55: 01.000000». Мне нужно проверить внутри скрипта scala, что строка действительна для метки времени db2.Как проверить отметку времени в scala?
ответ
В общем (я думаю) вы могли бы сделать это moslty точно так же, как и в Java либо с java.text.DateFormat
или joda.time.DateTimeFormat
(см. Joda time).
Простой пример:
import java.text.SimpleDateFormat
import java.util.Date
import scala.util.Try
val date = "2002-10-15 10:55:01.000000"
val formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSSS")
val test = Try[Date](formatter.parse(date))
даст вам:
test: scala.util.Try[java.util.Date] = Success(Tue Oct 15 10:55:01 CEST 2002)
Тогда вы могли бы соответствовать:
test match {
case Success(date) => // ok
case Failure(exception) => // not ok
}
эй, можем ли мы получить только такой статус, как «Успех» или «Сбой» из приведенного выше результата, я попробовал test.take (7), чтобы получить статус только, но его высказывание test.scala: 13: error: value take не является членом of scala.util.Try [java.util.Dat e] if (test.take (7) == "Success") ^ обнаружена одна ошибка – yash
Попробуйте работать как обычный 'try-catch-block' завернутый в нечто вроде «Option» или, скорее, «Либо». Таким образом, результатом 'Try.apply [Date]' является либо «Успех (дата: дата)», либо «Ошибка (ex: _ <: Throwable)». Вы можете проверить, была ли успешна «Try» с помощью 'test.isSuccess' или' test.isFailure'. Однако с 'match' вы также можете заглянуть внутрь' Success', чтобы получить фактическую синтаксическую 'Date'. –
Вы должны использовать SimpleDateFormat
Явы, чтобы сделать это в Скале:
object DateParser {
def isValid(f : String, d : String) = {
try {
val format = new java.text.SimpleDateFormat(f)
format.parse(d)
}catch(java.text.ParseException e) {
false
}
}
def main(args : Array[String]) {
val format = "yyyy-MM-dd k:m:s"
println(isValid(format,"2002-10-15 10:55:01.000000"))
println(isValid(format,"2002-10-1510:55:01.000000"))
}
}
- 1. Как проверить заданную отметку времени на выходных?
- 2. Преобразовать отметку времени Unix в длинную оригинальную отметку времени
- 3. C# вычислять отметку времени
- 4. Рассчитать отметку времени года
- 5. Вставить отметку времени
- 6. Добавить дни в отметку времени
- 7. Вставить отметку времени в Улей
- 8. Как добавить отметку времени в файл журнала
- 9. Как сравнить отметку времени в PL/SQL
- 10. R - как превратить отметку времени в минуты?
- 11. Как переопределить автоматическую отметку времени в FileMaker
- 12. Как удалить отметку времени в файле?
- 13. Как округлить отметку времени часов в HANA
- 14. Как получить текущую отметку времени в PIG
- 15. Bind событий отметку времени в JavaScript
- 16. Заголовок флюма - добавить отметку времени
- 17. Как получить временную отметку времени UNIVERSAL Windows
- 18. Perl - Как создать отметку времени обновления
- 19. Преобразование строки в отметку времени в улье
- 20. Как S3 назначает отметку времени при загрузке?
- 21. Как добавить отметку времени к представлению списка?
- 22. Как получить отметку времени из истории?
- 23. Добавить 13 часов в отметку времени
- 24. Преобразование даты в отметку времени UNIX
- 25. получить отметку времени сервера в формате sql
- 26. Добавить отметку времени в файл JAVA
- 27. Чтобы сопоставить отметку времени в excel
- 28. Spring Expression Язык, добавляющий отметку времени
- 29. Преобразования в Отметку времени Unix некорректной
- 30. Преобразовать эту строку в отметку времени PHP
Вы, вероятно, хотите взглянуть на [этот вопрос] (http://stackoverflow.com/q/7628103/3801695). –