import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.Locale
object Test {
def main(args:Array[String])={
var cal:Calendar =Calendar.getInstance()
//拨回昨天周日,因为今天本来就周一不好区分,可删下行
cal.add(Calendar.DAY_OF_MONTH, -1)
var df:SimpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日,EEE",Locale.CHINA)
Console.println("今天:"+df.format(cal.getTime))
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY)
//Java日历默认以周日为星期第1天,周一为第2天,可调
Console.println("本周一:"+df.format(cal.getTime))
cal.add(Calendar.DAY_OF_MONTH, -7)//退1周
Console.println("上周一:"+df.format(cal.getTime))
cal.add(Calendar.DAY_OF_MONTH, 7*2)//进2周
Console.println("下周一:"+df.format(cal.getTime))
}
}今天:2018年11月11日,星期日
本周一:2018年11月12日,星期一
上周一:2018年11月05日,星期一
下周一:2018年11月19日,星期一
属于历法,用日历写了一下
追问如果当前时间是自定义的任意一个时间点,该怎么写
追答 var cal:Calendar =Calendar.getInstance(Locale.CHINA)
//设任一时间,2000年1月2日,3点4分5秒
cal.set(2000, 0, 2, 3, 4, 5) //月份0为1月
//或只设日期
//cal.set(2000, 0, 2)
var df:SimpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日,HH:mm:ss, EEE")
Console.println("今天:"+df.format(cal.getTime))
//后同今天:2000年01月02日,03:04:05, 星期日
本周一:2000年01月03日,03:04:05, 星期一
上周一:1999年12月27日,03:04:05, 星期一
下周一:2000年01月10日,03:04:05, 星期一
本回答被提问者和网友采纳