`

java8 instant如何自定义格式化

阅读更多
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提供了一系列的类来帮助我们完成日期和时间的格式化工作,其中最常用的包括`java.util.Date`、`java.text.SimpleDateFormat`以及自Java 8引入的`java.time`包中的类。 1. **`java.util.Date`**: 这是Java早期...

    格式化时间工具类

    "格式化时间工具类"通常是指一个自定义的类,它封装了Java的日期时间处理方法,以便更方便地进行日期格式化、解析和比较。在这个场景下,`TimeFormatUtil.java`文件很可能就是这样一个工具类。 Java标准库中提供了`...

    Instant Messaging in Java

    即时通讯(Instant Messaging,简称IM)是现代网络通信的重要组成部分,Java 作为广泛使用的编程语言,为开发此类应用提供了强大的支持。"Instant Messaging in Java" 针对使用 Java 进行即时通讯系统开发进行了深入...

    java-instant-communication.rar_平台

    综上所述,"java-instant-communication.rar_平台"项目涵盖了Java网络编程、多线程、对象序列化、数据格式、并发处理等多个重要知识点,是一个全面的Java即时通信系统实现。开发者可以通过学习和实践该项目,提升在...

    java获取时间大全

    - `DateTimeFormatter`:Java 8引入,与`java.time`包配合使用,提供了更灵活的格式化和解析方式。 4. **日期和时间的操作:** - 添加和减去时间:使用`Calendar.add()`或`TemporalAdjusters`(如`nextOrSame...

    java 各种时间的处理,格式化,字符串的各种处理方法,字符集的各种类型转换等!

    `SimpleDateFormat`是日期/时间格式化模式,允许我们自定义日期和时间的显示格式。例如: ```java Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String...

    Instant Messaging in Java:the Jabber Protocals

    8. **扩展性与自定义协议** XMPP协议的可扩展性是其一大特点,开发者可以通过定义XML元素和命名空间来扩展功能,比如实现文件传输、位置共享等。Smack库提供了一套API来处理自定义扩展,使得开发者可以方便地构建...

    Java日期转换

    `SimpleDateFormat`是`java.text`包中的一个具体类,它是一个强大的日期和时间格式化工具。通过提供模式字符串,你可以定制日期和时间的显示格式。例如,"yyyy-MM-dd HH:mm:ss"模式会将日期格式化为“年-月-日 时:分...

    java日期时间转换大全

    #### 六、日期时间的自定义格式化 在某些情况下,可能需要对日期时间的格式进行更精细的控制,比如添加时区信息、使用不同的语言环境等。这可以通过`SimpleDateFormat`的构造函数来实现。 #### 七、处理闰年和...

    instant source

    6. **即时源码包**:如果"Instant Source"指的是压缩包中的文件,那么这可能是一个软件源代码包,用于开发者编译和自定义软件。常见的开源项目会提供源码包供用户下载,例如在Linux环境中,经常使用tar.gz或.zip格式...

    java时钟java。java

    5. **格式化日期和时间**:为了将日期时间转换为人类可读的字符串,你可以使用`DateTimeFormatter`。例如,`DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")`定义了一个格式,然后使用`format`方法将其应用到...

    java 使用Date类获取系统的当前时间

    需要注意的是,`Date`类在Java 8之后已经被`java.time`包中的新API所替代,如`LocalDateTime`、`Instant`等,它们提供了更强大、更易用的日期和时间处理功能。但鉴于题目要求,这里主要讨论的是`Date`类的使用。 `...

    java--时间戳与时间转换工具

    如果需要格式化输出日期,可以使用`SimpleDateFormat`类: ```java SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDate = formatter.format(date); ``` 2. **...

    Java中对日期的常用处理(转)

    5. **`java.time.format.DateTimeFormatter`**:用于日期和时间的格式化和解析,可以自定义格式,如"yyyy-MM-dd HH:mm:ss"。 6. **`java.time.Duration`** 和 **`java.time.Period`**:`Duration`用于处理两个时刻...

    java日历与时钟

    `java.time.format.DateTimeFormatter`类用于格式化和解析日期和时间。你可以自定义日期和时间的显示格式,如"yyyy-MM-dd HH:mm:ss"。 10. **源码分析** 文件`CalendarTestDome`可能包含了一个示例,演示了如何...

    java 时间转换(转载)

    `Date`类是早期的日期时间表示,而`SimpleDateFormat`用于格式化和解析日期。`java.time`包是Java 8引入的新API,提供了更强大和易用的功能。 2. **日期格式化**: `SimpleDateFormat`是一个具体的类,用于将日期...

    java date

    `java.time.LocalDate.of(year, month, day)`允许你创建指定日期的实例,而`java.time.format.DateTimeFormatter.ISO_LOCAL_DATE_TIME`则是预定义的ISO格式化器,方便快速格式化和解析日期时间。 总的来说,Java 8...

    Java-Java处理日期和时间教程

    此外,Java 8还引入了`java.time.format.DateTimeFormatterBuilder`,允许创建复杂的日期时间格式化模式。对于需要处理旧版API的情况,`java.time`提供了`java.time.format.DateTimeFormatter`的静态方法`ofPattern...

    java8新特性time类相关介绍

    Java 8还引入了`java.time.format.DateTimeFormatter`,用于格式化和解析日期时间字符串。你可以自定义格式,或者使用预定义的样式,如`ISO_LOCAL_DATE_TIME`。 此外,`java.time`包还提供了一些实用的静态方法,如...

    java中获取系统时间

    ### Java中获取系统时间 ...此外,随着Java版本的不断更新,如在Java 8及更高版本中,还可以使用`java.time`包中的新API,例如`LocalDateTime`、`Instant`等类,它们提供了更加强大和直观的日期时间处理能力。

Global site tag (gtag.js) - Google Analytics