我试图解析这个日期,SimpleDateFormat它不起作用:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Formaterclass {
public static void main(String[] args) throws ParseException{
String strDate = "Thu Jun 18 20:56:02 EDT 2009";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date dateStr = formatter.parse(strDate);
String formattedDate = formatter.format(dateStr);
System.out.println("yyyy-MM-dd date is ==>"+formattedDate);
Date date1 = formatter.parse(formattedDate);
formatter = new SimpleDateFormat("dd-MMM-yyyy");
formattedDate = formatter.format(date1);
System.out.println("dd-MMM-yyyy date is ==>"+formattedDate);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我用strDate =尝试这个代码"2008-10-14",我有一个肯定的答案.有什么问题?我该如何解析这种格式?
PS.我从a获得了这个日期,jDatePicker没有关于如何修改用户选择日期时获得的日期格式的说明.
我正在添加这个问题,因为我是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
很抱歉这似乎是一个多余的问题,但我确实有很多选择,尽管我努力阅读了十几个主题,但我无法理解该怎么做.
我有一个java应用程序,其工作是:
计划如下:
SOAP WS ---- deliverydate ----> JAVA APP(逻辑)---- datebl ----> REST WS
在Java应用程序是使用的JAR jackson-core-asl-1.9.13.jar和jackson-mapper-asl-1.9.13.jar等等.
我遇到的问题是处理日期.
读物:(试图受到启发但杰克逊版似乎不一样):
JSON以自定义格式序列化日期(无法从String值构造java.util.Date的实例)
Jackson 2.3.2:尽管将日期格式设置为ObjectMapper,但仍然会对Date进行反序列化
编辑01/04/15
http://jackson-users.ning.com/forum/topics/cannot-deserialize-a-date
现在的事实
要点1: 从SOAP WS恢复数据时,deliverydate是一个String,其精确值为:
2014-07-31 07:00:00.0
第2点: 在使用setter之前,我认为将此String格式化为日期可能是个好主意.
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dateebl = dateFormat.parse(deliverydate);
msi.setDatebl(dateebl);
Run Code Online (Sandbox Code Playgroud)
POJO中的datebl声明
private java.util.Date datebl;
Run Code Online (Sandbox Code Playgroud)
在此阶段,datebl值已转换为
Thu Jul 31 07:00:00 CEST 2014
(尽管选择具体格式yyyy-MM-dd HH:mm:ss)
点3和错误我有:我 的错误由其余服务器抛出:
无法从字符串值'Thu Jul 31 07:00:00 CEST 2014'构造java.util.Date的实例:不是有效的表示形式(错误:无法解析日期"Thu Jul 31 07:00:00 CEST 2014":不符合任何标准形式("yyyy-MM-dd'T'HH:mm:ss.SSSZ","yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","EEE, dd MMM yyyy …
我有日期字符串,如1900年12月25日星期二,我怎么能把它变成MM/dd/yyyy格式.我已经审阅了这个链接,但我的日期格式有一个解决方法.以下是我尝试的但是我得到了一个例外Unparsable date.
String caseDate = "Tuesday , December 25th, 1900";
SimpleDateFormat inputFormat = new SimpleDateFormat("EEEE, MMMM dd Z yyyy");
Date date = inputFormat.parse(caseDate);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(date);
Utils.logtMsg("formattedDate "+formattedDate);
Run Code Online (Sandbox Code Playgroud)
例外
例外:::无法解释的日期:"1900年12月25日星期二"