首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用joda时间将scala中的dd/mm/yyyy转换为yyyymmdd

如何利用joda时间将scala中的dd/mm/yyyy转换为yyyymmdd
EN

Stack Overflow用户
提问于 2018-04-16 15:27:34
回答 2查看 1.9K关注 0票数 2

如何使用Scala中的joda time将dd/mm/yyyy转换为yyyymmdd格式,并将dd/m/yyyy转换为yyyymmdd格式。

正在使用此依赖项。

代码语言:javascript
复制
 "joda-time" % "joda-time" % "2.9.9",
EN

回答 2

Stack Overflow用户

发布于 2018-04-16 15:59:36

This answer已经用Java回答了您的问题,但是这里它被翻译成Scala:

代码语言:javascript
复制
import org.joda.time.DateTime
import org.joda.time.format.{DateTimeFormat, DateTimeFormatter}

// define original date format
val originalFormat: DateTimeFormatter = DateTimeFormat.forPattern("dd/MM/yyyy")
val input: DateTime = originalFormat.parseDateTime("02/09/2017")

// define new format
val newFormat: DateTimeFormatter = DateTimeFormat.forPattern("yyyyMMdd")
val output: String = newFormat.print(input) // 20170902

这段代码将说明您的约会中缺少了一个领先的0 (即它将02/9/20172/9/2017视为相同的东西)。不过,它不会预测今年缺少的部分,因此2/9/17将被输出为00170902而不是20170902

但是,正如我前面提到的答案一样,您可以使用java.time来做同样的事情:

代码语言:javascript
复制
import java.time.LocalDate
import java.time.format.DateTimeFormatter

val originalFormat = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val input = LocalDate.parse("02/09/2017", originalFormat)
val newFormat = DateTimeFormatter.ofPattern("yyyyMMdd")
val output = input.format(newFormat)
票数 3
EN

Stack Overflow用户

发布于 2018-04-16 15:40:27

代码语言:javascript
复制
import org.joda.time.DateTime
import org.joda.time.format._

val fmt = DateTimeFormat.forPattern("dd/mm/yyyy")
val dt = fmt.parseDateTime("02/02/2017")
val fmt2 = DateTimeFormat.forPattern("yyyymmdd")
fmt2.print(dt)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49861007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档