为了账号安全,请及时绑定邮箱和手机立即绑定

将 Java 日历转换为 ISO 的最简单方法

将 Java 日历转换为 ISO 的最简单方法

饮歌长啸 2021-12-30 20:18:03
我有一个以下列格式返回的日历(它是 Java 日历类型):2020-02-15T00:00:00. 什么是将其转换成以下的日历像这样的坚持和日历类型的最简单,最简单的办法:Mon Nov 05 2018 14:08:58 GMT+0000 (Greenwich Mean Time)?在 JavaScript 中,我们可以使用类似的东西 var date = new Date();
查看完整描述

3 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

这是一个使用字符串转换为示例格式的示例,使用 Java 8 中引入的日期 API:


import java.time.LocalDateTime;

import java.time.ZoneId;

import java.time.ZonedDateTime;

import java.time.format.DateTimeFormatter;


class Scratch {

    public static void main(String[] args) {


        String input = "2020-02-15T00:00:00";


        LocalDateTime parsedTime = LocalDateTime.parse(input);


        ZonedDateTime zonedDateTime = ZonedDateTime.of(parsedTime, ZoneId.of("GMT"));


        String output = DateTimeFormatter.ofPattern("EEE MMM dd yyyy HH:mm:ss Z '('z')'")

                .format(zonedDateTime);


        System.out.print(output);

    }

}


查看完整回答
反对 回复 2021-12-30
?
慕标5832272

TA贡献1966条经验 获得超4个赞

日期时间对象没有“格式”

我有一个以下列格式返回的日历(它是 Java 日历类型):2020-02-15T00:00:00。

不,你没有。

一个Calendar对象没有格式。只有表示日期时间值的文本才有格式。

按照这样的日历并坚持日历类型:2018 年 11 月 5 日星期一 14:08:58 GMT+0000(格林威治标准时间)?

没有Calendar具有该格式的对象这样的东西,因为 aCalendar没有格式也不是文本。

学会在发帖前搜索 Stack Overflow。这已经被覆盖了很多次。

时间

Calendar几年前,随着 JAR 310 的采用,java.time类取代了可怕的类。永远不要使用Calendar.

获取类的当前 UTC 时间OffsetDateTime

OffsetDateTime odt = OffsetDateTime.now( ZoneOffset.UTC ) ;

要生成标准 ISO 8601 格式的文本,请调用toString. 要将日期时间值保留为文本,请使用这些格式——这就是发明它们的原因。

要以另一种格式生成文本,请使用DateTimeFormatter该类。这个已经讲过很多次了,所以搜索 Stack Overflow。

兑换

如果给定一个GregorianCalendar对象,则ZonedDateTime通过调用添加到旧遗留类的新方法立即转换为对象。

ZonedDateTime zdt = myGregCal.toZonedDateTime() ;

如果需要,请投射。

ZonedDateTime zdt = ( (GregorianCalendar) myCal ).toZonedDateTime() ;

然后使用DateTimeFormatter以您想要的格式生成文本。


查看完整回答
反对 回复 2021-12-30
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

您可以使用SimpleDateFormat


import java.text.DateFormat;

import java.util.Date;

import java.text.SimpleDateFormat;

import java.text.ParseException;


public class HelloWorld

{

  public static void main(String[] args)

  {

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

    String dateString = "2020-02-15T00:00:00";

    try {

        Date parsed = format.parse(dateString);

        System.out.print(parsed.toString());

        }

        catch(ParseException pe) {

            System.out.println("ERROR: Cannot parse \"" + dateString + "\"");

    }

  }

}


查看完整回答
反对 回复 2021-12-30
  • 3 回答
  • 0 关注
  • 294 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号