package com.github.jdk8;
import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.temporal.UnsupportedTemporalTypeException;
import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException;
/**
* @see http://stackoverflow.com/questions/25229124/format-instant-to-string
* @author doctor
*
*/
public class InstantFormat {
@Rule
public ExpectedException ex = ExpectedException.none();
@Test
public void test_wrong_format() {
Instant now = Instant.now();
ex.expect(UnsupportedTemporalTypeException.class);
String format = DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss").format(now);
// java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra
// at java.time.Instant.getLong(Instant.java:608)
}
/**
* You can not use DateTimeFormatter to format an instant. Instead you must format it by hand.
* One way to do this is to convert the Instant to a LocalDateTime
*/
@Test
public void test_right_format() {
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.now(), ZoneId.systemDefault());
String format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss"));
System.out.println(format);
}
}
分享到:
相关推荐
Java提供了一系列的类来帮助我们完成日期和时间的格式化工作,其中最常用的包括`java.util.Date`、`java.text.SimpleDateFormat`以及自Java 8引入的`java.time`包中的类。 1. **`java.util.Date`**: 这是Java早期...
"格式化时间工具类"通常是指一个自定义的类,它封装了Java的日期时间处理方法,以便更方便地进行日期格式化、解析和比较。在这个场景下,`TimeFormatUtil.java`文件很可能就是这样一个工具类。 Java标准库中提供了`...
即时通讯(Instant Messaging,简称IM)是现代网络通信的重要组成部分,Java 作为广泛使用的编程语言,为开发此类应用提供了强大的支持。"Instant Messaging in Java" 针对使用 Java 进行即时通讯系统开发进行了深入...
综上所述,"java-instant-communication.rar_平台"项目涵盖了Java网络编程、多线程、对象序列化、数据格式、并发处理等多个重要知识点,是一个全面的Java即时通信系统实现。开发者可以通过学习和实践该项目,提升在...
- `DateTimeFormatter`:Java 8引入,与`java.time`包配合使用,提供了更灵活的格式化和解析方式。 4. **日期和时间的操作:** - 添加和减去时间:使用`Calendar.add()`或`TemporalAdjusters`(如`nextOrSame...
`SimpleDateFormat`是日期/时间格式化模式,允许我们自定义日期和时间的显示格式。例如: ```java Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String...
8. **扩展性与自定义协议** XMPP协议的可扩展性是其一大特点,开发者可以通过定义XML元素和命名空间来扩展功能,比如实现文件传输、位置共享等。Smack库提供了一套API来处理自定义扩展,使得开发者可以方便地构建...
`SimpleDateFormat`是`java.text`包中的一个具体类,它是一个强大的日期和时间格式化工具。通过提供模式字符串,你可以定制日期和时间的显示格式。例如,"yyyy-MM-dd HH:mm:ss"模式会将日期格式化为“年-月-日 时:分...
#### 六、日期时间的自定义格式化 在某些情况下,可能需要对日期时间的格式进行更精细的控制,比如添加时区信息、使用不同的语言环境等。这可以通过`SimpleDateFormat`的构造函数来实现。 #### 七、处理闰年和...
6. **即时源码包**:如果"Instant Source"指的是压缩包中的文件,那么这可能是一个软件源代码包,用于开发者编译和自定义软件。常见的开源项目会提供源码包供用户下载,例如在Linux环境中,经常使用tar.gz或.zip格式...
5. **格式化日期和时间**:为了将日期时间转换为人类可读的字符串,你可以使用`DateTimeFormatter`。例如,`DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")`定义了一个格式,然后使用`format`方法将其应用到...
需要注意的是,`Date`类在Java 8之后已经被`java.time`包中的新API所替代,如`LocalDateTime`、`Instant`等,它们提供了更强大、更易用的日期和时间处理功能。但鉴于题目要求,这里主要讨论的是`Date`类的使用。 `...
如果需要格式化输出日期,可以使用`SimpleDateFormat`类: ```java SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDate = formatter.format(date); ``` 2. **...
5. **`java.time.format.DateTimeFormatter`**:用于日期和时间的格式化和解析,可以自定义格式,如"yyyy-MM-dd HH:mm:ss"。 6. **`java.time.Duration`** 和 **`java.time.Period`**:`Duration`用于处理两个时刻...
`java.time.format.DateTimeFormatter`类用于格式化和解析日期和时间。你可以自定义日期和时间的显示格式,如"yyyy-MM-dd HH:mm:ss"。 10. **源码分析** 文件`CalendarTestDome`可能包含了一个示例,演示了如何...
`Date`类是早期的日期时间表示,而`SimpleDateFormat`用于格式化和解析日期。`java.time`包是Java 8引入的新API,提供了更强大和易用的功能。 2. **日期格式化**: `SimpleDateFormat`是一个具体的类,用于将日期...
`java.time.LocalDate.of(year, month, day)`允许你创建指定日期的实例,而`java.time.format.DateTimeFormatter.ISO_LOCAL_DATE_TIME`则是预定义的ISO格式化器,方便快速格式化和解析日期时间。 总的来说,Java 8...
此外,Java 8还引入了`java.time.format.DateTimeFormatterBuilder`,允许创建复杂的日期时间格式化模式。对于需要处理旧版API的情况,`java.time`提供了`java.time.format.DateTimeFormatter`的静态方法`ofPattern...
Java 8还引入了`java.time.format.DateTimeFormatter`,用于格式化和解析日期时间字符串。你可以自定义格式,或者使用预定义的样式,如`ISO_LOCAL_DATE_TIME`。 此外,`java.time`包还提供了一些实用的静态方法,如...
### Java中获取系统时间 ...此外,随着Java版本的不断更新,如在Java 8及更高版本中,还可以使用`java.time`包中的新API,例如`LocalDateTime`、`Instant`等类,它们提供了更加强大和直观的日期时间处理能力。