public static void getWeeksOfMonth(int month, int year)
{
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd-MMM-yyyy");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, 1);
int ndays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(ndays+"<<<ff" );
for (int i = 1; i <= ndays; i++)
{
String day = sdf.format(cal.getTime());
System.out.println(day+"<<<" );
Log.e("quest", day+"<<<");
if(i % 7 == 0){
Log.e("question", "=======week days===========");
}
cal.add(Calendar.DATE, 1);
}
}
产量
2017年11月4日星期六
2017年11月5日星期日
2017年11月6日星期一
2017年11月7日星期二
=======工作日===========
2017年11月8日星期三
2017年11月9日星期四
2017年11月10日星期五
2017年11月11日星期六
2017年11月12日星期日
2017年11月13日星期一
2017年11月14日星期二
=======工作日==========
2017年11月15日星期三
2017年11月16日星期四
2017年11月17日星期五
2017年11月18日星期六
2017年11月19日星期日
2017年11月20日星期一
2017年11月21日星期二
=======工作日===========
2017年11月22日星期三
2017年11月23日星期四
2017年11月24日星期五
2017年11月25日星期六
2017年11月26日星期日
2017年11月27日星期一
2017年11月28日星期二
=======工作日===========
2017年11月29日星期三
2017年11月30日星期四
1:-But i want complete last week Wed to Tuesday
2:-start weeks from Friday and end with Thursday
1 回答
使用java.time
您正在使用可怕的旧类,现在已被java.time类取代 .
YearMonth类代表整整一个月 .
定义输出字符串的格式 .
我建议让你使用java.time automatically localize而不是硬编码格式 . 要进行本地化,请指定:
FormatStyle确定字符串应该多长或缩写 .
Locale确定:
用于翻译日期名称,月份名称等的人类语言 .
文化规范决定缩写,大写,标点符号,分隔符等问题 .
定义格式化程序:
或许收集到List .
循环过去的日子 .
要按星期对它们进行分组,请使用
DayOfWeek
枚举 .关于java.time
java.time框架内置于Java 8及更高版本中 . 这些类取代了麻烦的旧legacy日期时间类,例如java.util.Date,Calendar和SimpleDateFormat .
Joda-Time项目现在位于maintenance mode,建议迁移到java.time类 .
要了解更多信息,请参阅Oracle Tutorial . 并搜索Stack Overflow以获取许多示例和解释 . 规格是JSR 310 .
您可以直接与数据库交换java.time对象 . 使用JDBC driver符合JDBC 4.2或更高版本 . 不需要字符串,不需要
java.sql.*
类 .从哪里获取java.time类?
Java SE 8,Java SE 9,Java SE 10,以及之后
内置 .
具有捆绑实现的标准Java API的一部分 .
Java 9增加了一些小功能和修复 .
Java SE 6和Java SE 7
大部分java.time功能在ThreeTen-Backport中反向移植到Java 6和7 .
Android
更新版本的Android捆绑java.time类的实现 .
对于早期的Android(<26),ThreeTenABP项目适应ThreeTen-Backport(如上所述) . 见How to use ThreeTenABP… .