在斯卡拉 - 如何获得一周的一天?

时间:2017-05-20 18:59:29

标签: scala

假设我的日期格式是21/05/2017,那么输出将是SUN。

如何确定约会日期?

3 个答案:

答案 0 :(得分:4)

    import java.time.LocalDate
    import java.time.format.DateTimeFormatter

    val df = DateTimeFormatter.ofPattern("dd/MM/yyyy")
    val dayOfWeek = LocalDate.parse("21/05/2017",df).getDayOfWeek

答案 1 :(得分:0)

您可以使用SimpleDateFormat,如下所示:

import java.util.Calendar
import java.text.SimpleDateFormat

val now = Calendar.getInstance.getTime

val date = new SimpleDateFormat("yyyy-MM-dd")
date.format(now)
res1: String = 2017-05-20

val dowInt = new SimpleDateFormat("u")
dowInt.format(now)
res2: String = 6

val dowText = new SimpleDateFormat("E")
dowText.format(now)
res3: String = Sat

[UPDATE]

根据以下评论,请注意SimpleDateFormat不是线程安全的。

答案 2 :(得分:0)

您还可以使用nscala-time这是Java joda-time的Scala包装器,它是一个具有大量功能的日期时间库。

import com.github.nscala_time.time.Imports._

val someDate =(newDateTime).withYear(2017)
                           .withMonthOfYear(5)
                           .withDayOfMonth(21)

someDate.getDayOfWeek

res7: Int = 7

现在您需要知道一周中整数天和名称之间的映射。这里,7对应于星期日。