账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Java 时间转换的问题
    27
    0
    d0 = "2018-01-01 00:00:00";
    SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date d1 = (Date) formate.parseObject(d0);
    String result =  DateUtils.formatDate(d1, "yyyy-MM-dd hh:mm:ss");
    System.out.println(result);
    

    为什么返回的是2017-12-31 04:00:00
    ???

    补充:

    DateUtils.formatDate 
    

    \apache\httpcomponents\httpclient\4.5.1\httpclient-4.5.1.jar
    

    里面的方法:

    public static String formatDate(Date date, String pattern) {
        Args.notNull(date, "Date");
        Args.notNull(pattern, "Pattern");
        SimpleDateFormat formatter = DateUtils.DateFormatHolder.formatFor(pattern);
        return formatter.format(date);
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ℡可爱三秒.♡ 普通会员 1楼

      在Java中,我们可以使用java.time包中的类来处理日期和时间。以下是一些常见的日期和时间转换问题:

      1. 将字符串转换为日期/时间对象: java String dateStr = "2021-01-01"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime dateTime = LocalDateTime.parse(dateStr, formatter);

      2. 将日期/时间对象转换为字符串: java LocalDateTime dateTime = LocalDateTime.of(2021, 1, 1); String dateStr = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

      3. 获取日期/时间对象的年份、月份、日期和小时: java LocalDateTime dateTime = LocalDateTime.of(2021, 1, 1); int year = dateTime.getYear(); int month = dateTime.getMonthValue(); int day = dateTime.getDayOfMonth(); int hour = dateTime.getHour();

      4. 计算两个日期/时间之间的差值: java LocalDateTime dateTime1 = LocalDateTime.of(2021, 1, 1); LocalDateTime dateTime2 = LocalDateTime.of(2021, 1, 2); Duration duration = Duration.between(dateTime1, dateTime2);

      5. 检查日期/时间是否在特定的日期范围内: java LocalDateTime dateTime = LocalDateTime.of(2021, 1, 1); if (dateTime.isBefore(LocalDateTime.of(2021, 1, 31))) { System.out.println("This date is before the end of the year."); }

      6. 获取日期/时间的小时数、分钟数和秒数: java LocalDateTime dateTime = LocalDateTime.of(2021, 1, 1); int hours = dateTime.getHour(); int minutes = dateTime.getMinute(); int seconds = dateTime.getSecond();

      7. 检查日期/时间是否在特定的日期范围内: java LocalDateTime dateTime = LocalDateTime.of(2021, 1, 1); if (dateTime.isBefore(LocalDateTime.of(2021, 1, 31))) { System.out.println("This date is before the end of the year."); }

      以上只是Java中日期和时间转换的一部分知识,实际的日期和时间处理可能会更复杂,包括处理时区、比较日期和时间、计算闰年等。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部