当前位置: 首页 > 知识库问答 >
问题:

从响应分析日期[重复]

龙承颜
2023-03-14

我使用此代码获取过期日期:

        String nameToQuery = "godaddy.com";

        WhoisClient whoisClient = new WhoisClient();
        whoisClient.connect(WHOIS_SERVER, WHOIS_PORT);
        String results = whoisClient.query(nameToQuery);
        if (StringUtils.strip(results).startsWith("QUOTA_EXCEEDED")) {
            throw new Exception();
        }
        if (StringUtils.strip(results).startsWith("No match for")) {
            throw new Exception();
        }
        if (StringUtils.strip(results).startsWith("DOMAIN_NOT_FOUND")) {
            throw new Exception();
        }
        whoisClient.disconnect();

        int idx = results.toLowerCase().indexOf("registry expiry date:");
        if (idx != -1) {
            results = results.substring(idx+21).trim();
            System.out.println("!!!!!!!!!" + results);
        }

我得到的答复是:

!!!!!!!!!2021-11-01T11:59:59Z

如何将结果转换为Java LocalDateTime并与当前系统时间进行比较?

共有2个答案

西门智
2023-03-14

您需要首先指定您的日期时间模式(基于您的代码似乎是ISO_ZONED_DATE_TIME)。这就像:

DateTimeFormatter dateTimePattern = DateTimeFormatter.ISO_ZONED_DATE_TIME // replace it with any date time pattern if it's difference date time pattern, for example replace it with DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") if it's your custom pattern.
LocalDateTime now = LocalDateTime.now();
LocalDateTime yourResult = LocalDateTime.parse(dateFromResponseString, dateTimePattern);
boolean equals = now.isEqualTo(yourResult); // to check if it's equals or not
int compare = now.compareTo(yourResult); // to compare it, return -1 if it's less, 0 if equals or 1 if it's greater
岳风畔
2023-03-14
String dateString = "2021-11-01T11:59:59Z";
Instant instant = Instant.parse(dateString);
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.of(ZoneOffset.UTC.getId()));

Z表示现在是UTC时间。因此首先将其转换为Instant&然后转换为LocalDateTime。

 类似资料:
  • 问题内容: 好的,因此我可以使用访问HTTP ajax响应标头 但似乎没有日期,尽管它在那里: 而代码只显示了这一点: 这是ajax调用: 有没有办法可以在响应头中获取日期? 问题答案: 这有帮助:

  • 问题内容: 我从Web服务获取日期,它们看起来像这样: 如何将其转换为javascript中的日期对象? 我已经在Google上搜索了一下,却找不到合适的答案-这可能部分是由于我不太确定这种日期对象是什么的事实-因此,如果有人也能对此有所了解,那将不胜感激。 问题答案: 退货 2011年7月9日星期六6:52:41 GMT + 0200(南非标准时间) 如果您需要按问题剥离它:

  • 试图解析来自第三方源的传入日期,有些日期按预期工作,有些则抛出异常: 看着日期,我看不出它们之间有什么不同,看着我的格式化程序,我看不出哪里出了问题。 示例失败日期: 示例通过日期: 我用来解析日期的代码: 希望有人帮忙。

  • 我有一个带有字符串的数组列表,我想在日期中转换它。在下面的代码中,似乎不能使用“parse”来完成此操作: 但那不起作用。 你能帮帮我吗?

  • 问题内容: 调用a 并获取列的响应将日期值设置为 但。目前,我有一个类似的日期值。我想将此值转换为Edm.DateTIme格式,如上所示。 任何功能都可以实现相同。任何工作。请帮忙。 问题答案: 下列: 打印出: 请注意时区的转换。Java 希望在偏移量中使用冒号。 说到时区,我不知道OData Atom XML是否在某处指定了时区。Edm.DataTime没有此类功能。 编辑 :如果要将输出转换

  • 嗨,我正在尝试以YYYY-MM-DD格式解析日期。我正在尝试这个: 但是我得到了错误,我想这是一个解析错误, 0001-01-01 00:00:00 0000 UTC解析时间“2016-01-1”为“2020-12-30”:无法将“-01-01”解析为“0” 我该如何解析它,或者通过其他示例给出一些提示?蒂亚。