我需要當前年份,月份&日期爲3個不同的變量。下面的代碼給出了日期時間如何獲得當前日期,月份,年份在斯卡拉
val now = Calendar.getInstance().getTime()
週四9月29日18時27分38秒北京時間2016
,但我需要在YYYY MM和DD格式
我需要當前年份,月份&日期爲3個不同的變量。下面的代碼給出了日期時間如何獲得當前日期,月份,年份在斯卡拉
val now = Calendar.getInstance().getTime()
週四9月29日18時27分38秒北京時間2016
,但我需要在YYYY MM和DD格式
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
月份是一個添加,因爲一個月零索引開始。
你可以使用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,它是de在喬達時間API後簽名。
你需要描述here
你的情況使用不同的SimpleDateFormat對象爲目的,你需要:
import java.text.SimpleDateFormat
val minuteFormat = new SimpleDateFormat("MM")
val yearFormat = new SimpleDateFormat("YYYY")
val dayFormat = new SimpleDateFormat("dd")
,然後拿到爲例,一年給定日期,只需使用:
val currentYear = hourFormat.format(yourDate)
當你在談論year
,month
,day-of-month
,hour-of-day
等...你的時區變得非常重要。所以,無論何時你談論所有這些,你都必須提及時區。
如果您使用的是Java 8中,您可以使用java.time API
import java.time.{ZonedDateTime, ZonedOffset}
// val yourTimeZoneOffset = ZoneOffset.ofHoursMinutesSeconds(hour, minute, second)
// for example IST or Indian Standard Time has an offset of "+05:30:00" hrs
val istOffset = ZoneOffset.ofHoursMinutesSeconds(5, 30, 0)
// istOffset: java.time.ZoneOffset = +05:30
// time representation in IST
val zonedDateTimeIst = ZonedDateTime.now(istOffset)
// zonedDateTimeIst: java.time.ZonedDateTime = 2016-09-29T20:14:48.048+05:30
val year = zonedDateTimeIst.getYear
// year: Int = 2016
val month = zonedDateTimeIst.getMonth
// month: java.time.Month = SEPTEMBER
val dayOfMonth = zonedDateTimeIst.getDayOfMonth
// dayOfMonth: Int = 29
val df1 = DateTimeFormatter.ofPattern("yyyy - MM - dd")
val df2 = DateTimeFormatter.ofPattern("yyyy/MM/dd")
// df1: java.time.format.DateTimeFormatter = Value(YearOfEra,4,19,EXCEEDS_PAD)' ''-'' 'Value(MonthOfYear,2)' ''-'' 'Value(DayOfMonth,2)
// df2: java.time.format.DateTimeFormatter = Value(YearOfEra,4,19,EXCEEDS_PAD)'/'Value(MonthOfYear,2)'/'Value(DayOfMonth,2)
val dateString1 = zonedDateTimeIst.format(df1)
// dateString1: String = 2016 - 09 - 29
val dateString2 = zonedDateTimeIst.format(df2)
// dateString2: String = 2016/09/29
SimpleDateFormat的導入庫? – toofrellik
在OP中添加 – Will