首页 > 编程知识 正文

date怎么转成string,java字符串转date类型

时间:2023-05-05 16:54:42 阅读:30603 作者:4057

看看代码吧~

从字符串类型到本地日期

localdatebegindatetime=local date.parse (begindate,datetimeformatter.ofpattern )“yyyy-mm-DD”);

从日期类型到本地日期

date dates=newsimpledateformat (" yyy mm " ).parse ) cycle );

Instant instant=dates.toInstant (;

zoneid zoneid=zoneid.system default (;

localdatelocaldate=instant.at zone (zoneid ).toLocalDate );

补充知识: LocalDateTime与字符串交互/Date交互/LocalDate交互/指定日期/时间比较/循环

在Java 8中表示日期和时间的类有多个,主要有:

Instant :表示时刻,不直接对应年月日信息,需要在时区进行变换

LocalDateTime:表示与时区无关的日期和时间信息,不直接对应于时间,必须在时区中进行转换

LocalDate :表示与时区无关的日期,与LocalDateTime相比,只有日期信息而没有时间信息

LocalTime :表示与时区无关的时间,与LocalDateTime相比,只有时间信息,没有日期信息

区域日期:表示特定时区的日期和时间

区域id /区域偏移:表示时区

与字符串的相互转换

简单粗暴

datetimeformatterdf=datetime formatter.of pattern (yyyy-mm-ddhh : mm : ss );

localdatetimetime=local datetime.now (;

字符串本地时间=df.format (time;

localdatetimeldt=local datetime.parse (2018-06-0110336012336005 ',df );

system.out.println (本地日期转换为字符串类型的时间: ' localTime );

system.out.println (将字符串类型的时间设置为本地日期: ' ldt );

与Date相互旋转

Java.util.datedate=new Java.util.date (;

Instant instant=date.toInstant (;

zoneid zone=zoneid.system default (;

localdatetimelocaldatetime=local datetime.of instant (instant,zone );

localdatetimelocaldatetime=local datetime.now (

zoneid zone=zoneid.system default (;

即时=local datetime.at zone (zone ).toInstant );

Java.util.datedate=date.from (instant );

与本地日期相互旋转

localdatetimenow=local datetime.now (;

localdatelocaldate=now.tolocaldate (;

localdatelocaldate=local date.now (;

zoneid zone=zoneid.system default (;

instant instant=local date.atstartofday (.at zone (zone ).toInstant );

Java.util.datedate=date.from (instant );

配合时间

localdatetimenow=local datetime.now (;

//明天

localdatetimeplusdays=now.plus days (1;

//昨天

localdatetimeplusdays2=now.plus days (-1;

//还有时分等同样的情况

时间比较

localdatetimenow=local datetime.now (;

longepochmilli=now.at zone (zoneid.system default ().toInstant ().toEpochMilli ) );

然后比较long就可以了

默认时区为ZoneId.systemDefault (

//北京时区

zoneidbjzone=zoneid.of (GMT 08:00 ) )。

间隔的计算

使用Duration进行day、hour、minute、second等的计算

使用Period进行Year,Month的计算

duration duration=duration.between (本地日期,本地日期4 );

duration.toDays (;

duration.toHours (;

duration.toMinutes (;

period period2=period.between (local datetime.tolocaldate (,localDateTime4.toLocalDate ) );

period2.getYears (;

period2.getMonths (;

period2.toTotalMonths (;

判断是今天还是昨天

stringtime=' 2018-08-0911:20336045 ';

datetimeformatterdtf=datetime formatter.of pattern (uuu-mm-ddhh : mm : ss );

localdatetimelocaltime=local datetime.parse (time,dtf );

localdatetimestarttime=local date.now ).at time (0,0 );

localdatetimeendtime=local date.now (.at time (23,59,59 ) );

localdatetimestartyesterday=local date.now (.plus days (-1 ).attime ) 0,0,0 );

localdatetimeendyesterday=local date.now (.plus days (-1 ).attime ) 23、59、59 );

//小于昨天的开始日期时

if (local time.is before (开始yesterday ) ) }

System.out.println (时间过去);

}

//时间是昨天

if (local time.is after (开始yesterday ) local time.is before (end yesterday ) ) {

System.out.println (时间为昨天);

}

//如果大于今天的开始日期,则小于今天的结束日期

if (local time.is after (开始时间) localtime.isbefore (结束时间) ) }{

System.out.println (时间为今天);

}

//如果大于今天的结束日期

if (本地时间. is after (结束时间) ) }

System.out.println (时间是未来);

}

}

循环一定期间

localdatestart=local date.of 652019、4、29;

localdateend=local date.of (2019、7、29 );

do {

system.out.println(start );

start=start.plusdays(1;

} while (start.toepochday (=end.toepochday ) );

获取最近7天的每日开始时间戳和结束时间戳

localdatestart=local date.now (.plus days (-7 ) );

本地date end=local date.now (;

do {

start.Atstartofday(.atzone ) zoneid.systemdefault ) ).toInstant ).toEpochMilli );

start.attime(localtime.max ).at zone (zoneid.system default ) ) )

. toInstant ().toEpochMilli );

start=start.plusdays(1;

} while (start.toepochday (=end.toepochday ) );

以上字符串类型是localDate,date是转换为localDate的实现代码与编辑共享的所有内容。 希望您能参考。 另外,我希望你能多支持脚本屋。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。