我String代表一个约会.
String date_s = "2011-01-18 00:00:00.0";
Run Code Online (Sandbox Code Playgroud)
我想将它转换为a Date并以YYYY-MM-DD格式输出.
2011-01-18
我怎样才能做到这一点?
好的,根据我在下面找到的答案,这是我尝试过的东西:
String date_s = " 2011-01-18 00:00:00.0";
SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss");
Date date = dt.parse(date_s);
SimpleDateFormat dt1 = new SimpleDateFormat("yyyyy-mm-dd");
System.out.println(dt1.format(date));
Run Code Online (Sandbox Code Playgroud)
但它输出02011-00-1而不是所需2011-01-18.我究竟做错了什么?
Java 8添加了一个新的java.time API来处理日期和时间(JSR 310).
我有日期和时间作为字符串(例如"2014-04-08 12:30").如何LocalDateTime从给定的字符串中获取实例?
在我完成LocalDateTime对象的使用之后:如何将LocalDateTime实例转换回具有与上面所示格式相同的字符串?
请告诉代码示例为什么SimpleDateFormat不是线程安全的.这堂课有什么问题? SimpleDateFormat的格式功能有问题吗?请给出一个在课堂上演示此错误的代码.
FastDateFormat是线程安全的.为什么?b/w SimpleDateFormat和FastDateFormat有什么区别?
请用解释此问题的代码解释一下?
我正在尝试使用新的java 8 time-api和模式将Instant格式化为String:
Instant instant = ...;
String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant);
Run Code Online (Sandbox Code Playgroud)
使用上面的代码我得到一个异常,它抱怨一个不受支持的字段:
java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra
at java.time.Instant.getLong(Instant.java:608)
at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298)
...
Run Code Online (Sandbox Code Playgroud) 我正在添加这个问题,因为我是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
我已经阅读了文档,但是当我应该使用其中一个时,我仍然无法获得:
根据文档OffsetDateTime应该在将日期写入数据库时使用,但我不明白为什么.
每个人都警告Java DateFormat不是线程安全的,理论上我理解这个概念.
但是我无法想象出由此产生的实际问题.比如,我在类中有一个DateFormat字段,并且在多线程环境中的类(格式化日期)中的不同方法中使用相同的字段.
这会导致:
另外,请解释原因.
String hello = "Hello";
String.format("%s %s %s %s %s %s", hello, hello, hello, hello, hello, hello);
hello hello hello hello hello hello
Run Code Online (Sandbox Code Playgroud)
hello变量是否需要在对format方法的调用中重复多次,或者是否有一个简写版本,允许您指定一次应用于所有%s标记的参数?
尝试转换为时java.util.Date,我收到以下异常java.time.LocalDate.
java.time.DateTimeException: Unable to obtain ZonedDateTime from TemporalAccessor: 2014-08-19T05:28:16.768Z of type java.time.Instant
Run Code Online (Sandbox Code Playgroud)
代码如下:
public static Date getNearestQuarterStartDate(Date calculateFromDate){
int[] quaterStartMonths={1,4,7,10};
Date startDate=null;
ZonedDateTime d=ZonedDateTime.from(calculateFromDate.toInstant());
int frmDateMonth=d.getMonth().getValue();
Run Code Online (Sandbox Code Playgroud)
我使用ZonedDateTime课程的方式有问题吗?
根据文档,这应该将java.util.Date对象转换为ZonedDateTime.上面的日期格式是标准日期?
我是否必须回到Joda时间?
如果有人可以提供一些建议,那就太好了.
我有一个$ date定义为"星期几,月份日,年"ex:2013年2月26日星期二
我不知道$ date的定义在哪里,但我喜欢将小时添加到这个$ date变量,或者用小时创建一个变量,你知道我怎么能把它放在.vm文件中?
java ×9
datetime ×4
java-8 ×4
java-time ×4
date ×2
date-format ×2
string ×2
android ×1
formatting ×1
threetenabp ×1
threetenbp ×1
timestamp ×1
velocity ×1