• Java获取今天/昨天/前天的某个时间点的方法


    开发时需要把如“今天 12:15” "昨天 21:21" "前天 03: 02"之类的String转换成Date,所以写了个方法,有更好的写法的话欢迎留言

     1 //获取今天、昨天、前天的某个时间的方法, 如"昨天 21:21" "前天 15:15"
     2     private static Date getFormatDate(String updated) throws Exception{
     3         if (updated.substring(0, 2).equals("今天")){
     4             String partOfDate = updated.substring(3);
     5             Calendar calendar = Calendar.getInstance();
     6             calendar.setTime(new Date());
     7             calendar.set(Calendar.HOUR_OF_DAY, 0);
     8             calendar.set(Calendar.MINUTE, 0);
     9             calendar.set(Calendar.SECOND, 0);
    10             SimpleDateFormat todaySdf = new SimpleDateFormat("yyyy-MM-dd");
    11             String today = todaySdf.format(calendar.getTime());
    12             String finalString = today + " " + partOfDate;
    13             SimpleDateFormat finalSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    14             return finalSdf.parse(finalString);
    15         }else if (updated.substring(0,2).equals("昨天")){
    16             String partOfDate = updated.substring(3);
    17             Calendar calendar = Calendar.getInstance();
    18             calendar.setTime(new Date());
    19             calendar.add(Calendar.DATE, -1);
    20             calendar.set(Calendar.HOUR_OF_DAY, 0);
    21             calendar.set(Calendar.MINUTE, 0);
    22             calendar.set(Calendar.SECOND, 0);
    23             SimpleDateFormat yesterdaySdf = new SimpleDateFormat("yyyy-MM-dd");
    24             String yesterday = yesterdaySdf.format(calendar.getTime());
    25             String finalString = yesterday + " " + partOfDate;
    26             SimpleDateFormat finalSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    27             return finalSdf.parse(finalString);
    28         }else if (updated.substring(0, 2).equals("前天")){
    29             String partOfDate = updated.substring(3);
    30             Calendar calendar = Calendar.getInstance();
    31             calendar.setTime(new Date());
    32             calendar.add(Calendar.DATE, -2);
    33             calendar.set(Calendar.HOUR_OF_DAY, 0);
    34             calendar.set(Calendar.MINUTE, 0);
    35             calendar.set(Calendar.SECOND, 0);
    36             SimpleDateFormat daysBeforeSdf = new SimpleDateFormat("yyyy-MM-dd");
    37             String daysBefore = daysBeforeSdf.format(calendar.getTime());
    38             String finalString = daysBefore + " " + partOfDate;
    39             SimpleDateFormat finalSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    40             return finalSdf.parse(finalString);
    41         }else {
    42             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    43             return sdf.parse(updated);
    44         }
    45     }

    Written on Dec. 14th, 2019

  • 相关阅读:
    【并查集】亲戚
    【图论】Car的旅行线路 NOIP 2001
    【贪心】排座椅
    【DP】花店橱窗布置
    【NOIP】NOIP考纲总结+NOIP考前经验谈
    【NOIP】考前须知
    NOIP 2016 PJ T4 魔法阵
    NOIP 2016 PJ T3 海港
    【高精度】麦森数 NOIP 2003
    【带权并查集】食物链 NOIP 2001
  • 原文地址:https://www.cnblogs.com/LittleMike/p/12038462.html
Copyright © 2020-2023  润新知