欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java獲取時間如何將當(dāng)前時間減一天、一月、一年、并格式化

 更新時間:2023年09月08日 14:32:01   作者:李長淵哦  
這篇文章主要介紹了Java獲取時間,將當(dāng)前時間減一天、一月、一年,并加以格式化,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

Java獲取時間,將當(dāng)前時間減一天、一月、一年,并加以格式化

一、普遍例子

1、代碼

    void contextLoads() {
        Date date = new Date();//獲取當(dāng)前時間
        System.out.println(date);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設(shè)置格式
        Calendar calendar = Calendar.getInstance(); //創(chuàng)建Calendar 的實(shí)例
        calendar.add(Calendar.DAY_OF_MONTH, -1); //當(dāng)前時間減去一天,即一天前的時間
        System.out.println(simpleDateFormat.format(calendar.getTime()));
        Calendar calendar2 = Calendar.getInstance();
        calendar2.add(Calendar.MONTH, -1);//當(dāng)前時間減去一個月,即一個月前的時間
        System.out.println(simpleDateFormat.format(calendar2.getTime()));
        Calendar calendar3 = Calendar.getInstance();
        calendar.add(Calendar.YEAR, -1);//當(dāng)前時間減去一年,即一年前的時間
        System.out.println(simpleDateFormat.format(calendar3.getTime()));
        System.out.println(calendar.getTimeInMillis());//返回當(dāng)前時間的毫秒數(shù)
    }

2、效果

在這里插入圖片描述

二、自定義方法

1、代碼

    /**
     * 獲取某天的時間,支持自定義時間格式
     *
     * @param simpleDateFormat 時間格式,yyyy-MM-dd HH:mm:ss
     * @param index            為正表示當(dāng)前時間加天數(shù),為負(fù)表示當(dāng)前時間減天數(shù)
     * @return String
     */
    public static String getTimeDay(String simpleDateFormat, int index) {
        //設(shè)置時區(qū)
        TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
        TimeZone.setDefault(tz);
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat fmt = new SimpleDateFormat(simpleDateFormat);
        calendar.add(Calendar.DAY_OF_MONTH, index);
        String date = fmt.format(calendar.getTime());
        return date;
    }
    /**
     * 第二種使用自定義方法
     */
    void contextLoads2() {
        System.out.println(getTimeDay("yyyy-MM-dd HH:mm:ss", -1));
    }

2、效果

在這里插入圖片描述

三、自定義工具類

1、代碼

    void contextLoads3() {
        Date now = DateUtil.now();
        System.out.println("今天時間: " + DateUtil.formatDateTime(now));
        System.out.println("昨天時間: " + DateUtil.formatDateTime(DateUtil.addDate(now, -1)));
    }

2、工具類

詳細(xì)可私聊

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
 * @author lichangyuan
 * @create 2021-12-15 11:30
 */
public class DateUtil {
    public DateUtil() {
    }
    public static Date now() {
        return new Date();
    }
    public static Date add(Date date, Integer field, Integer amount) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(field, amount);
        return calendar.getTime();
    }
    public static Date addDate(Date date, Integer days) {
        return add(date, 5, days);
    }
    public static String format(Date date, String format) {
        if (date == null) {
            return "";
        } else {
            if (isEmpty(format)) {
                format = "yyyy-MM-dd";
            }
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return sdf.format(date);
        }
    }
    public static String formatDateTime(Date date) {
        return format(date, "yyyy-MM-dd HH:mm:ss");
    }
    /**
     * 計算兩個日期相差天數(shù)
     *
     * @param smdate
     * @param bdate
     * @return
     * @throws ParseException
     */
    public static int daysBetween(Date smdate, Date bdate) {
        long betweenDays = 0;
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
            smdate = sdf.parse(sdf.format(smdate));
            bdate = sdf.parse(sdf.format(bdate));
            Calendar cal = Calendar.getInstance();
            cal.setTime(smdate);
            long time1 = cal.getTimeInMillis();
            cal.setTime(bdate);
            long time2 = cal.getTimeInMillis();
            betweenDays = (time2 - time1) / (1000 * 3600 * 24);
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
        return Integer.parseInt(String.valueOf(betweenDays));
    }
}

3、效果

在這里插入圖片描述

四、補(bǔ)充

1、Calendar.add()方法參數(shù)

數(shù)字對應(yīng)操作
1年份
2月份
3星期
5日期
11小時
12分鐘
13
14毫秒

2、String轉(zhuǎn)換成Date后格式化成自定義時間格式的String類型

    void test12() {
        //SimpleDateFormat中的parse方法可以把特定格式的String型的字符串轉(zhuǎn)換成date類型
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date newDate = sdf.parse("2022-12-01 13:00:00");
            System.out.println(newDate);
            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy:MM:dd HH-mm-ss");
            String format = sdf2.format(newDate);
            System.out.println(format);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

在這里插入圖片描述

到此這篇關(guān)于Java獲取時間,將當(dāng)前時間減一天、一月、一年,并加以格式化的文章就介紹到這了,更多相關(guān)java當(dāng)前時間減一天內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中使用DES加密解密實(shí)例

    java中使用DES加密解密實(shí)例

    這篇文章主要介紹了java中使用DES加密解密實(shí)例,需要的朋友可以參考一下
    2014-01-01
  • Spring Security使用單點(diǎn)登錄的權(quán)限功能

    Spring Security使用單點(diǎn)登錄的權(quán)限功能

    本文主要介紹了Spring Security使用單點(diǎn)登錄的權(quán)限功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 總結(jié)java多線程之互斥與同步解決方案

    總結(jié)java多線程之互斥與同步解決方案

    文中總結(jié)了線程互斥與同步,synchronized使用細(xì)節(jié)及原理,Reentrylock使用細(xì)節(jié)等知識,對解決Java多線程互斥與同步等問題很有效,,需要的朋友可以參考下
    2021-05-05
  • JAVA多線程知識匯總

    JAVA多線程知識匯總

    這篇文章主要介紹了JAVA多線程的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • JAVA實(shí)現(xiàn)雙邊決策的示例

    JAVA實(shí)現(xiàn)雙邊決策的示例

    本篇文章主要介紹了JAVA實(shí)現(xiàn)雙邊決策,介紹了雙邊決策的實(shí)現(xiàn)算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • Springboot訪問templates html頁面過程詳解

    Springboot訪問templates html頁面過程詳解

    這篇文章主要介紹了Springboot訪問templates html頁面過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • java實(shí)現(xiàn)查找PDF關(guān)鍵字所在頁碼及其坐標(biāo)

    java實(shí)現(xiàn)查找PDF關(guān)鍵字所在頁碼及其坐標(biāo)

    這篇文章主要介紹了java實(shí)現(xiàn)查找PDF關(guān)鍵字所在頁碼及其坐標(biāo)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Spring Boot獲取微信用戶信息的超簡單方法

    Spring Boot獲取微信用戶信息的超簡單方法

    這篇文章主要給大家介紹了關(guān)于Spring Boot獲取微信用戶信息的超簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • java ArrayBlockingQueue的方法及缺點(diǎn)分析

    java ArrayBlockingQueue的方法及缺點(diǎn)分析

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于java ArrayBlockingQueue的方法及缺點(diǎn)分析,對此有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-01-01
  • Spring?Boot整合log4j2日志配置的詳細(xì)教程

    Spring?Boot整合log4j2日志配置的詳細(xì)教程

    這篇文章主要介紹了SpringBoot項目中整合Log4j2日志框架的步驟和配置,包括常用日志框架的比較、配置參數(shù)介紹、Log4j2配置詳解以及使用步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02

最新評論