2016-09-29 224 views

回答

2
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

你可以使用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後簽名。

0

你需要描述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) 
+0

SimpleDateFormat的導入庫? – toofrellik

+0

在OP中添加 – Will

2

當你在談論yearmonthday-of-monthhour-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 
相關問題