我正在添加这个问题,因为我是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
"2016年3月10日下午6:30:00"这是我的约会对象,我希望将其转换为"2016年3月10日".我可以在android中使用SimpleDateFormat吗?我没有得到转换它的确切模式.请提前帮助和感谢
String date="Mar 10, 2016 6:30:00 PM";
SimpleDateFormat spf=new SimpleDateFormat("Some Pattern for above date");
Date newDate=spf.format(date);
spf= new SimpleDateFormat("dd MMM yyyy");
String date = spf.format(newDate);
Run Code Online (Sandbox Code Playgroud)
这个步骤会起作用吗?如果是,有人可以给我一个这种格式的模式吗?提前致谢.
我String在数据库(match.getDate)中具有以下日期格式:
01/04/2018
这是我要格式化的日期,存储为日/月/年。我想为我的Android应用设置格式。
我想将日期格式化为:
星期日2018年4月1日
我的代码如下:
SimpleDateFormat fDate = new SimpleDateFormat("dd/MM/yyyy");
try {
textViewDate.setText(fDate.parse(match.getDate()).toString());
} catch (ParseException ex) {
System.out.println(ex.toString());
}
Run Code Online (Sandbox Code Playgroud)
输出:
周日四月08 00:00:00 GMT + 00:00 2018。
我也尝试过"EE, MM d, yyyy",但是它给了我:
java.text.ParseException:无法解析的日期:“ 01/04/2018”
我试图将字符串格式化为日期.
为此,我写了一个代码: -
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
System.out.println(sdf.format( cal.getTime() ));
Run Code Online (Sandbox Code Playgroud)
这很好..但现在我想将一个字符串转换为如上所述的日期..例如
String dt="2010-10-22";
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的: - 2010-10-22T00:00:00
我该怎么做呢?
我需要将日期字符串转换为另一种特定格式。
例如:我有一个日期可以作为YYYY-MM-DDorYYYY-MM-DDThh:mm:ss±0000并且我需要将其转换为 something "yyyy-mm-ddTHH:MM:SSZ"。
我使用 Java 8 API 尝试了一些东西,但找不到出路。
java ×4
android ×3
datetime ×2
date ×1
date-parsing ×1
java-8 ×1
java-time ×1
threetenabp ×1
threetenbp ×1