草庐IT

Java 8 LocalDate-确定无年的 Feb-29 日期的年份?

我和我的同事有一个有趣的问题。我们使用的旧系统只返回ddMMM格式的日期数据。如果当年的日期/月份是过去的,那么我们将假定此日期适用于明年。否则适用于当年。所以今天是4/30/2015。如果系统返回包含12MAR的记录,则该日期将转换为3/12/2016。如果日期显示为07MAY,则它会转换为5/7/2015。但是,29FEB是闰年,因此尚不清楚如何确定年份。我们不能用年份实例化它而不可能抛出错误。我们在试图为当年创建一个LocalDate时依赖于try/catch。如果捕获,我们假设它属于明年。是否有更符合犹太教规的方法来做到这一点? 最佳答案

java - 默认日期年份设置为 1970

我需要解析一个最初没有设置年份的字符串“8月13日11:30”但是当我输出日期时它加上了年份,我尝试设置年份,但年份完全错误,输出为“ThuAug1311:30:00GMT3911”有没有办法设置日期解析后的年份?SimpleDateFormatformatter=newSimpleDateFormat("ddMMMHH:mm");StringdateStr="13Aug11:30";DatefromDate=(Date)formatter.parse(dateStr);fromDate.setYear(2011); 最佳答案 使用

java - 使用 JodaTime 计算两个日期之间的月份,记住年份

我正在使用此代码来计算输入的过去日期和当前日期之间的月数。它使用JodaTimeLocalDatedate1=newLocalDate(installmentStartDate2);LocalDatedate2=newLocalDate(newjava.util.Date());PeriodTypemonthDay=PeriodType.yearMonthDayTime();Perioddifference=newPeriod(date1,date2,monthDay);intmonths=difference.getMonths();returnmonths+1;现在,当我输入201

java - 解析没有分隔符的基于周的年份和基于周的年份失败

我正在尝试从没有任何分隔符的字符串中解析基于周的年份和基于周的年份。例如。“201812”(2018年第12周)。像这样:DateTimeFormatterformatter=newDateTimeFormatterBuilder().appendPattern("YYYYww").parseDefaulting(WeekFields.ISO.dayOfWeek(),1).toFormatter();LocalDateparse=LocalDate.parse("201803",formatter);但这给了我:java.time.format.DateTimeParseExcepti

java - 如何在 Java 中创建一个没有年份参数的新 Date 对象?

我正在尝试使用新的SimpleDateFormat来解析格式为dd-MM的字符串。基本上,我想从字符串中创建一个日期对象并保存在数据库中。当我检查数据库条目时,我看到它将1970附加到年份列。我相信它是为空时提供的年份的默认值。有没有办法防止年份值。我不想存储有关年份的信息。我的代码-StringdateOfBirth="14-Feb";dbObject.save(newSimpleDateFormat("dd-MMM").parse(dateOfBirth));为简单起见,假设dbObject.save()方法需要提供日期对象。我不想创建一个有值(value)的日期-14-Feb-1

java - 如何获取两个日期之间的月份和年份列表

我需要你的帮助来获取字符串中两个日期之间的月份和年份列表。用户将以字符串格式输入两个日期:Stringdate1="JAN-2015";Stringdate2="APR-2015";所以结果应该是:2015年1月2015年2月2015年3月我尝试使用以下代码,但它给了我错误的结果:Listdates=newArrayList();Stringstr_date="JAN-2015";Stringend_date="APR-2015";DateFormatformatter;formatter=newSimpleDateFormat("MMM-yyyy");DatestartDate=fo

从Java的数据库中获取时,如何将日月和年份以单一和双引号放置

字符串first1=request.getParameter(“from_date”);字符串second2=request.getParameter(“to_date”);String[]str=first1.split("/");String[]str1=Second2.split("/");intmonth=Integer.parseInt(str[0]);intday=Integer.parseInt(str[1]);intyear=Integer.parseInt(str[2]);intmonth1=Integer.parseInt(str1[0]);intday1=Integer.

java - 基于语言环境的 SimpleDateFormat 模式,但强制使用 4 位数年份

我需要构建一个日期格式,如dd/MM/yyyy。它几乎类似于DateFormat.SHORT,但包含4位年份数字。我尝试用来实现它newSimpleDateFormat("dd//MM/yyyy",locale).format(date);但是对于美国语言环境,格式是错误的。是否有一种通用的格式化日期的方法可以根据区域设置更改模式?谢谢 最佳答案 我会这样做:StringBufferbuffer=newStringBuffer();Calendardate=Calendar.getInstance();DateFormatdateF

Java:将字符串日期转换为月份名称年份 (MMM yyyy)

这个问题在这里已经有了答案:ChangedateformatinaJavastring(22个答案)关闭3年前。我是Java新手。我正在尝试将日期从字符串转换为MMMyyyy格式(2016年3月)。我试过了Calendarcal=Calendar.getInstance();SimpleDateFormatmonth_date=newSimpleDateFormat("MMMyyyy");Stringmonth_name=month_date.format(cal.getTime());System.out.println("Month::"+month_name);//Mar2016

没有年份的java本地日期格式

我喜欢将本地时间格式格式化为不带年份的字符串。目前我可以显示包含年份的本地格式:java.text.DateFormatdf=java.text.DateFormat.getDateInstance(java.text.DateFormat.SHORT);StringdateString=df.format(date);因此我收到一个时间字符串输出,如12.03.201203/12/2012针对不同的国家。现在我想得到一个简短的形式,比如12.03.03/12我该怎么做?感谢您的帮助! 最佳答案 您可以使用SimpleDateFor