我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.
对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:
>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud) datetime android android-gradle-plugin threetenbp threetenabp
在Joda-Time,有没有办法获得一周的第一天(星期一)的日期.
例如,我想根据今天的当前日期21/01/11找出这个星期一星期一的日期
提前干杯.
编辑:我也希望找到一周结束的日期,即星期日的日期.干杯
我知道有同样的问题在这里,但我已经试过了答案提供和它返回的输出,我不明白.我对答案感到困惑,我不认为输出是正确的.
我需要帮助,谢谢:)
GregorianCalendar date1 = new GregorianCalendar( 2014, 05, 12 ); //05 is june as month start from 0 -11
while( date1.get( Calendar.DAY_OF_WEEK ) != Calendar.MONDAY )
date1.add( Calendar.DATE, 1 );
System.out.println(date1);
Run Code Online (Sandbox Code Playgroud)
这是输出:
java.util.GregorianCalendar[time=1405267200000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Singapore",offset=28800000,dstSavings=0,useDaylight=false,transitions=9,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2014,MONTH=6,WEEK_OF_YEAR=29,WEEK_OF_MONTH=3,DAY_OF_MONTH=14,DAY_OF_YEAR=195,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=28800000,DST_OFFSET=0]
Run Code Online (Sandbox Code Playgroud)
在输出的哪个位置我应该提取以检索星期一的日期?
我想获取一周的第一个日期.
我的输入将是像2014年7月26日的字符串类型".
我需要获得上述日期(2014年7月26日)的第一周日期.
我需要MM/dd/YYYY格式的输出日期.
基本上我需要输出为07/21/2014.
请给我java程序.我已经做到了这一点
SimpleDateFormat formatter1 = new SimpleDateFormat("MM/dd/yy");
String date ="07/26/2014";
Date Currentdate = formatter1.parse(date);
int currentday=Currentdate.getDay();
Calendar calendar = Calendar.getInstance();
calendar.setTime(Currentdate);
int startDay=currentday-calendar.getFirstDayOfWeek();
Currentdate.setDate(contacteddate.getDate()-startDay);
System.out.println(contacteddate.getDate());
}
Run Code Online (Sandbox Code Playgroud)
上面的代码只给我一个日期..我需要在"MM/dd/YYYY"中的日期和月份和年份请帮助
如果我的应用程序收到某个日期,我怎样才能找到下周一的第一个日期?
例如,我得到2011年9月28日的日期,我必须找到此日期之后的第一个星期一的日期.
我正在使用Apache commons-lang3 DateUtils.truncate(Calendar calendar, int field)方法来"切断"Calendar对象的不必要字段.现在当field参数获得值时Calendar.WEEK_OF_MONTH,它会抛出一个
java.lang.IllegalArgumentException: The field 4 is not supported
该truncate()方法的文档说:
/**
* <p>Truncates a date, leaving the field specified as the most
* significant field.</p>
*
* <p>For example, if you had the date-time of 28 Mar 2002
* 13:45:01.231, if you passed with HOUR, it would return 28 Mar
* 2002 13:00:00.000. If this was passed with MONTH, it would
* return 1 Mar 2002 0:00:00.000.</p>
* …Run Code Online (Sandbox Code Playgroud)