如何在scala中获取当前日期,月份,年份

时间:2016-09-29 13:09:49

标签: scala

我需要当前年,月和日日期为3个不同的变量。下面的代码给出了日期时间

val now = Calendar.getInstance().getTime()
  

Sep Sep 29 18:27:38 IST 2016

但我需要YYYY MM和DD格式

4 个答案:

答案 0 :(得分:5)

val cal = Calendar.getInstance()
val date =cal.get(Calendar.DATE )
val Year =cal.get(Calendar.YEAR )
val Month1 =cal.get(Calendar.MONTH )
val Month = Month1+1

月份加1,因为月份从零索引开始。

答案 1 :(得分:2)

当您谈论expected o/pyearmonthday-of-month等时......您的时区变得非常重要。因此,无论何时谈论所有这些,都必须提及时区。

如果您使用的是java 8,则可以使用java.time api

hour-of-day

答案 2 :(得分:1)

您可以使用joda-time

import org.joda.time.DateTime

val date: String = DateTimeFormat.forPattern("yyyy-MM-dd").print(DateTime.now())
val month: Int = DateTime.now().getMonthOfYear
val year: Int = DateTime.now().getYear

如果您使用java8,您还可以使用本机DateTime API,它是在joda-time api之后设计的。

答案 3 :(得分:0)

您需要使用不同的SimpleDateFormat对象,如here

所述

在您的情况下,您需要:

import java.text.SimpleDateFormat 

val minuteFormat = new SimpleDateFormat("MM")
val yearFormat = new SimpleDateFormat("YYYY")
val dayFormat = new SimpleDateFormat("dd")

然后,举例来说,给定日期的年份,只需使用:

val currentYear = hourFormat.format(yourDate)