San*_*and 5 java datetime jodatime
在java类中,我从mm/dd/yyyy中的datepicker-input表单中获取日期字符串"updateDate".
当我尝试使用joda时间库更新代码时
DateTime expireDate = new DateTime(renewDate);
// i get error at above line
updateOrganization.setRenewdate(expireDate.toDate());
organizationDAO.update(updateOrganization);
Run Code Online (Sandbox Code Playgroud)
但是如果我在格式中格式化日期,即从mm/dd/yyyy到yyyy-mm-dd并将其发送到java类,它的工作正常.
如何在Java类中将日期格式从mm/dd/yy格式化为yyyy-mm-dd.输入是Stringformat.
ass*_*ias 15
您正在使用的构造函数的有效格式列表在ISODateTimeFormat的javadoc中详细说明,其中不包含"mm/dd/yyyy":
datetime =时间| date-opt-time
time ='T'time-element [offset]
date-opt-time = date-element ['T'[time-element] [offset]]
date-element = std-date-element | ord-date-element | week-date-element
std-date-element = yyyy [' - 'MM [' - 'dd]]
ord-date-element = yyyy [' - 'DDD]
week-date-element = xxxx'-W'ww [ ' - 'e]
time-element = HH [minute-element] | [fraction]
minute-element =':'mm [second-element] | [fraction]
second-element =':'ss [fraction]
fraction =('.'|',')digit +
offset ='Z'| (('+'|' - ')HH [':'mm [':'ss [('.'|',')SSS]]])
您可以使用DateTimeFormatter解析不同的格式(注意MM表示大写的月份):
DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/dd/yyyy");
DateTime expireDate = fmt.parseDateTime(renewDate);
Run Code Online (Sandbox Code Playgroud)