Java 使用Joda时间库设置日期格式

Java 使用Joda时间库设置日期格式,java,datetime,jodatime,Java,Datetime,Jodatime,在java类中,我从mm/dd/yyyy中的datepicker输入表单中获取日期作为字符串,比如“renewDate” 当我尝试使用joda时间库更新代码时 DateTime expireDate = new DateTime(renewDate); // i get error at above line updateOrganization.setRenewdate(expireDate.toDate()); organizationDAO.update(updateOrganizatio

在java类中,我从mm/dd/yyyy中的datepicker输入表单中获取日期作为字符串,比如“renewDate”

当我尝试使用joda时间库更新代码时

DateTime expireDate = new DateTime(renewDate);
// i get error at above line
updateOrganization.setRenewdate(expireDate.toDate());
organizationDAO.update(updateOrganization);
但是,如果我将日期格式化为mm/dd/yyyy到yyyy-mm-dd的格式,并将其发送到java类,则其工作正常


如何在Java类中设置从年月日到年月日的日期格式。输入为Stringformat。

中详细介绍了您正在使用的构造函数的有效格式列表,其中不包括“mm/dd/yyyy”:

日期时间=时间|日期选择时间
时间='T'时间元素[偏移量]
日期选择时间=日期元素['T'[时间元素][偏移量]]
日期元素=标准日期元素|订单日期元素|周日期元素
标准日期元素=yyyy['-'MM['-'dd]]
ord日期元素=yyyy['-'DDD]
周日期元素=xxxx'-W'ww['-'e]
时间元素=HH[分钟元素]|[分数]
分钟元素=':'mm[第二元素]|[分数]
第二个元素=':'ss[分数]
分数=(‘.|’,‘)位+
偏移量='Z'|(“+”|“-')HH[':'mm[':'ss[('.'|',')SSS]])

您可以使用(注释MM,大写为month)解析不同的格式:


您需要使用静态方法解析日期,因为构造函数假定字符串为ISO格式

您需要的日期格式如下所示

DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/dd/yyyy");
DateTime expireDate = DateTime.parse( renewDate, fmt );

什么类型的日期选择器?AWT,SWT,JSF,JS?尝试通过DatePickersAPI查找诸如“模式”之类的关键字。
DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/dd/yyyy");
DateTime expireDate = DateTime.parse( renewDate, fmt );