• 转换时间的工具类(2)


        

     public static String formatDate(String inDate) {
    SimpleDateFormat inTime = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    SimpleDateFormat outTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String date = "";
    try{
    date = outTime.format(inTime.parse(inDate));
    }catch(Exception e){
    e.printStackTrace();
    }
    return date;
    }

    /**
    * 转换为年-月-日 时-分-秒 字符串格式时间
    * @param date
    * @return
    */
    public static String formatYmdHmsDate(Date date) {

    SimpleDateFormat sdfyMd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String ymdDate = sdfyMd.format(date);
    return ymdDate;
    }

    /**
    * 转换为年-月-日字符串格式时间
    * @param date
    * @return
    */
    public static String formatYmdDate(Date date) {

    SimpleDateFormat sdfyMd = new SimpleDateFormat("yyyy-MM-dd");
    String ymdDate = sdfyMd.format(date);
    return ymdDate;
    }

    /**
    * 转换为年-月字符串格式时间
    * @param date
    * @return
    */
    public static String formatYmDate(Date date) {
    SimpleDateFormat sdfyM = new SimpleDateFormat("yyyy-MM");
    String ymDate = sdfyM.format(date);
    return ymDate;
    }


    /**
    * 获取前一小时的开始时间
    * @return
    */
    public static String getOneHoursStartDate(){


    Calendar calendar = new GregorianCalendar();
    calendar.add(Calendar.HOUR_OF_DAY,-1);
    calendar.set(Calendar.MINUTE,0);
    calendar.set(Calendar.SECOND,0);
    calendar.set(Calendar.MILLISECOND,0);
    Date dayStart = calendar.getTime();
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String startStr = simpleDateFormat.format(dayStart);
    return startStr;
    }


    /**
    * 获取前一小时的结束时间
    * @return
    */
    public static String getOneHoursEndDate(){

    Calendar calendar = new GregorianCalendar();
    calendar.add(Calendar.HOUR_OF_DAY,-1);
    calendar.set(Calendar.MINUTE,59);
    calendar.set(Calendar.SECOND,59);
    calendar.set(Calendar.MILLISECOND,999);
    Date dayEnd = calendar.getTime();
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String endStr = simpleDateFormat.format(dayEnd);
    return endStr;
    }


    /**
    * 获取昨天的开始时间
    * @return
    */
    public static String getOneDayStartDate(){

    Calendar calendar = new GregorianCalendar();
    calendar.add(Calendar.DAY_OF_MONTH,-1);
    calendar.set(Calendar.HOUR_OF_DAY,0);
    calendar.set(Calendar.MINUTE,0);
    calendar.set(Calendar.SECOND,0);
    calendar.set(Calendar.MILLISECOND,0);
    Date dayStart = calendar.getTime();
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String startStr = simpleDateFormat.format(dayStart);

    return startStr;
    }


    /**
    * 获取昨天的结束时间
    * @return
    */
    public static String getOneDayEndDate(){

    Calendar calendar = new GregorianCalendar();
    calendar.add(Calendar.DAY_OF_MONTH,-1);
    calendar.set(Calendar.HOUR_OF_DAY,23);
    calendar.set(Calendar.MINUTE,59);
    calendar.set(Calendar.SECOND,59);
    calendar.set(Calendar.MILLISECOND,999);
    Date dayEnd = calendar.getTime();
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String endStr = simpleDateFormat.format(dayEnd);

    return endStr;
    }


    /**
    * 获取前一个月的开始时间
    * @return
    */
    public static String getOneMonthStartDate(){

    Calendar calendar = new GregorianCalendar();
    calendar.add(Calendar.MONTH,-1);
    calendar.set(Calendar.DAY_OF_MONTH,1);
    Date monthStart = calendar.getTime();
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String monthStartStr = simpleDateFormat.format(monthStart);

    return monthStartStr;
    }


    /**
    * 获取前一个月的结束时间
    * @return
    */
    public static String getOneMonthEndDate(){

    Calendar calendar = new GregorianCalendar();
    SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
    int month=calendar.get(Calendar.MONTH);
    calendar.set(Calendar.MONTH, month-1);
    calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
    String monthEndStr = simpleDateFormat.format(calendar.getTime());

    return monthEndStr;
    }


    /**
    * 随机一段时间
    * @param beginDate
    * @param endDate
    * @return
    */
    public static Date randomDate(String beginDate, String endDate) {
    try {
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date start = format.parse(beginDate);// 构造开始日期
    Date end = format.parse(endDate);// 构造结束日期
    // getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
    if (start.getTime() >= end.getTime()) {
    return null;
    }
    long date = random(start.getTime(), end.getTime());
    return new Date(date);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }

    /**
    * 递归调用随机随机时间
    * @param begin
    * @param end
    * @return
    */
    public static long random(long begin, long end) {
    long rtn = begin + (long) (Math.random() * (end - begin));
    // 如果返回的是开始时间和结束时间,则递归调用本函数查找随机值
    if (rtn == begin || rtn == end) {
    return random(begin, end);
    }
    return rtn;
    }

    /**
    * 遍历一小时的随机时间
    * @return
    */
    public static String getOneHoursDate(){

    Date randomDate = randomDate(getOneHoursStartDate(), getOneHoursEndDate());
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String date = sdf.format(randomDate);
    System.out.println(date);
    return date;
    }

    /**
    * 遍历一天的随机时间(24H)
    * @return
    */
    public static String getOneDayDate(){

    Date randomDate = randomDate(getOneDayStartDate(), getOneDayEndDate());
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String date = sdf.format(randomDate);
    System.out.println(date);
    return date;
    }


    public static void main(String[] args) {

    for (int i = 0; i < Math.round(5) ; i++) {
    getOneHoursDate();
    }

    // for (int i = 0; i < 8 ; i++) {
    // Date randomDate = randomDate("2019-10-01 00:00:00", "2019-10-01 23:59:59");
    // SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    // String date = format.format(randomDate);
    // System.out.println(date);
    // }


    // Calendar calendar = new GregorianCalendar();
    // calendar.add(Calendar.HOUR_OF_DAY,-1);
    // calendar.set(Calendar.MINUTE,59);
    // calendar.set(Calendar.SECOND,59);
    // calendar.set(Calendar.MILLISECOND,999);
    // Date dayEnd = calendar.getTime();
    // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    // String endStr = simpleDateFormat.format(dayEnd);
    //
    // System.out.println(endStr);


    }
  • 相关阅读:
    顺序栈用C语言实现
    对队列的操作和算法
    对链表的操作与算法
    对动态数组的操作与算法
    链表
    冒泡排序
    指针之动态分配内存
    字符串匹配KMP算法
    DS二叉树--层次遍历
    DS图--最小生成树
  • 原文地址:https://www.cnblogs.com/pxzbky/p/13380761.html
Copyright © 2020-2023  润新知