我是靠谱客的博主 雪白百褶裙,最近开发中收集的这篇文章主要介绍java date iso,在Java 8中按时间段分析ISO日期,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

i want to replace JodaTime by Java 8 DateTime API.

I've got ISO-8601 period described = P2W5DT11H8M

In JodaTime i parse it very simply by executing the following code:

Period.parse("P2W5DT11H8M") and i get the successful Period object.

Can i do the same in Java 8?

解决方案

A Period in Java 8 only has year/month/day components. A Duration has hour/minute/second components. It seems that you will need to parse the string manually. One option could look like the code below (you need to add input validation etc.) - there may be better alternatives.

public static void main(String[] args) {

System.out.println(PeriodAndDuration.parse("P2W5DT11H8M"));

}

public static class PeriodAndDuration {

private final Period p;

private final Duration d;

public PeriodAndDuration(Period p, Duration d) {

this.p = p;

this.d = d;

}

public Period getPeriod() {

return p;

}

public Duration getDuration() {

return d;

}

public static PeriodAndDuration parse(String input) {

int periodStart = input.indexOf("P");

int timeStart = input.indexOf("T");

Period p = Period.parse(input.substring(periodStart, timeStart));

Duration d = Duration.parse("P" + input.substring(timeStart, input.length()));

return new PeriodAndDuration(p, d);

}

@Override

public String toString() {

return p.toString() + d.toString();

}

}

最后

以上就是雪白百褶裙为你收集整理的java date iso,在Java 8中按时间段分析ISO日期的全部内容,希望文章能够帮你解决java date iso,在Java 8中按时间段分析ISO日期所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部