关于LocalDateTime使用的一些注意

字符串转LocalDateTime

DateTimeFormatter formatter = DateTimeFormatter.*ofPattern*("yyyy-MM-dd HH:mm");

LocalDateTime st = null;

String startTime = null;

try {
    System.*out*.println("请输入起飞时间,格式为年-月-日 时:分(yyyy-MM-dd HH:mm:ss)");
    startTime = *scanner*.nextLine();
    st = LocalDateTime.*parse*(startTime, formatter);
} catch (DateTimeException e) {
    System.*out*.println("请输入正确的日期格式!!");
}

如果希望只输入日期,不能使用LocalDateTime(LocalDateTime必须要日期+时间信息),而是使用LocalDate,需要返回LocalDateTime类型时,再将LocalDate转化为LocalDateTime

DateTimeFormatter formatter1 = DateTimeFormatter.*ofPattern*("yyyy-MM-dd");
DateTimeFormatter formatter2 = DateTimeFormatter.*ofPattern*("yyyy-M-dd");

System.*out*.println("请输入出发时间,格式为年-月-日:");
String time=*scanner*.nextLine();
LocalDate st=null;
ArrayList<Flight> arrayList1=null;

//匹配MM和M两种格式
try{
    //先转化成LocalDate
    st= LocalDate.*parse*(time, formatter1);
    //通过atStartOfDay()将LocalDate转化成LocalDateTime
    arrayList1=*orderUtil*.find(saddress,eaddress,st.atStartOfDay());
}catch (DateTimeException e){
    try{
        //尝试匹配第二种输入日期格式,提高健壮性
        st= LocalDate.*parse*(time, formatter2);
        //匹配成功则进行之后的操作
        arrayList1=*orderUtil*.find(saddress,eaddress,st.atStartOfDay());
    }catch (DateTimeException e1){
        System.*out*.println("日期格式输入不正确,请输入格式为年-月-日!");
    }

}

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值