java跨月獲取前七天日期,java獲取某個月的天數

本文目錄一覽:

Java 由今天往前推7天怎麼算

public static void main(String[] args) {

//獲取當前時間毫秒數

Date dt= new Date();

long time= dt.getTime();

//獲取7天的毫秒數

long sevenTime = 7*24*60*60*1000;

//當前時間毫秒數-7天的毫秒數=7天之間那天的毫秒數

long times = time – sevenTime;

//將毫秒數轉日期

Date dat=new Date(times);

GregorianCalendar gc = new GregorianCalendar();

gc.setTime(dat);

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);

String sb=format.format(gc.getTime());

System.out.println(sb);

}

如果直接對日進行加減 有可能是 每月七號之前 那麼就還需要做許多的判斷是否月份需要進行減去,當月是 天數等等,我覺得直接換算為毫秒數就能直接解決很多問題。

java scrpit 獲取當前日期和前七天的日期

var d = new Date();

這個不就是當前日期了嗎 重新設置天數-7不就是7天前的日期了嗎

請問Java如何得到七天以前的日期

常規寫法是下面這樣寫的。

我們在獲得指定時間倒退或者延遲天數的時候,

JAVA 建議使用 Calendar 這個對象來處理。

下面是我寫的類 和 測試方法 :

—————–

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

public class DateTest {

/**

* 請用Java編寫一段程序打印輸出當前日期減去7天的日期,格式為1-31-1900。

* @param args

* @throws ParseException

*/

public static void main(String[] args) throws ParseException {

DateTest dateTest = new DateTest();

DateFormat df = new SimpleDateFormat(“MM-dd-yyyy”);

//假象一個指定時間 1999年1月31日

Date before7Day = dateTest.getDate(“1-31-1999”, 7);

System.out.println(“獲得的新的時間是 : “+df.format(before7Day));

}

/**

* 根據輸入的日期字符串 和 提前天數 ,

* 獲得 指定日期提前幾天的日期對象

* @param dateString 日期對象 ,格式如 1-31-1900

* @param lazyDays 倒推的天數

* @return 指定日期倒推指定天數後的日期對象

* @throws ParseException

*/

public Date getDate(String dateString , int beforeDays) throws ParseException{

DateFormat dateFormat = new SimpleDateFormat(“MM-dd-yyyy”);

Date inputDate = dateFormat.parse(dateString);

Calendar cal = Calendar.getInstance();

cal.setTime(inputDate);

int inputDayOfYear = cal.get(Calendar.DAY_OF_YEAR);

cal.set(Calendar.DAY_OF_YEAR , inputDayOfYear-beforeDays );

return cal.getTime();

}

}

—————–

輸出結果是 :

獲得的新的時間是 : 01-24-1999

java 獲取前一周星期天的日期,例如今天2013-8-1,上一周星期日就是2013-7-28

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

public class TestDate {

    public static void main(String[] args) {

        // 設置當前日期

        Calendar aCalendar = Calendar.getInstance();

        aCalendar.setTime(new Date());

        // 取當前日期是星期幾(week:星期幾)

        int week = aCalendar.get(Calendar.DAY_OF_WEEK);

        if (week == 1) {

            week = 7;

        } else if (week == 0) {

            week = 6;

        } else {

            week -= 1;

        }

        // 取距離當前日期最近的周日與當前日期相差的天數(count:相差的天數。正數:之後的周日,負數:之前的周日)

        int count = 0;

        if (week = 3) {

            count = -week;

        } else if (week = 4) {

            count = 7 – week;

        }

        // 獲取距離當前日期最近的周日日期

        DateFormat df = new SimpleDateFormat(“yyyy-MM-dd EE”);

        Calendar c = Calendar.getInstance();

        c.add(Calendar.DAY_OF_WEEK, count);

        // 格式化並打印出距離當前日期最近的周日日期

        System.out.println(“當前日期: ” + df.format(aCalendar.getTime()) + ‘\n’ + “最近周日: ” + df.format(c.getTime()));

    }

}

運用JAVA 語法計算出,以當前日期時間點,打印出頭七天的日期,並且按照周一至周日的格式輸出

private void print() {

        int intervalTime = 1;//與中國星期計算方式的差值

        int weekDay = 7;//一周

        Calendar calendar = Calendar.getInstance();

        SimpleDateFormat dateFormat = new SimpleDateFormat(“E:yyyy-MM-dd”);

        int beginDayOfWeek = calendar.getActualMinimum(Calendar.DAY_OF_WEEK) + intervalTime;

        calendar.set(Calendar.DAY_OF_WEEK, beginDayOfWeek);

        for(int i = 0 ; i  weekDay; i++) {

            System.out.println(dateFormat.format(calendar.getTime()));

            calendar.add(Calendar.DATE, 1);

        }

    }

java怎樣獲得當前時間的前幾天

1.java中關於獲取時間的所有方式如下,

Date dNow = new Date();   //當前時間

Date dBefore = new Date();

Calendar calendar = Calendar.getInstance(); //得到日曆

calendar.setTime(dNow);//把當前時間賦給日曆

calendar.add(Calendar.DAY_OF_MONTH, -1);  //設置為前一天

dBefore = calendar.getTime();   //得到前一天的時間

SimpleDateFormat sdf=new SimpleDateFormat(”yyyy-MM-ddHH:mm:ss”);//設置時間格式

String defaultStartDate = sdf.format(dBefore);    //格式化前一天

String defaultEndDate = sdf.format(dNow); //格式化當前時間

System.out.println(”前一天的時間是:” + defaultStartDate);

System.out.println(”生成的時間是:” + defaultEndDate);

2.如上方式能得到當前時間的前一天時間,同理,可以得到前一天的前一天,那麼,前幾天的時間都可以這樣獲得,如果覺得方案還是不可行,可以使用第三方的日曆組件來獲得更加準確的全年三百六十五天的時間

另有:

Calendar 與 Date 的轉換:

Calendar calendar = Calendar.getInstance();

// 從一個 Calendar 對象中獲取 Date 對象

Date date = calendar.getTime();

// 將 Date 對象反應到一個 Calendar 對象中,

// 先獲得一個實例,然後設置 Date 對象

calendar.setTime(date);

月份的起始值為0而不是1,所以要設置八月時,我們用7而不是8.

calendar.set(Calendar.MONTH, 7);

計算2000-01-01是星期幾

calendar.get(calendar.DAY_OF_WEEK )

3.實例代碼測試如下

 Java代碼

import Java.util.*;

public class ShowDate {

public static void main(String[] args) {

Calendar calendar = new GregorianCalendar();

Date trialTime = new Date();

calendar.setTime(trialTime);

// print out a bunch of interesting things

System.out.println(”ERA: ” + calendar.get(Calendar.ERA));

System.out.println(”YEAR: ” + calendar.get(Calendar.YEAR));

System.out.println(”MONTH: ” + calendar.get(Calendar.MONTH));

System.out.println(”WEEK_OF_YEAR: ” + calendar.get(Calendar.WEEK_OF_YEAR));

System.out.println(”WEEK_OF_MONTH: ” + calendar.get(Calendar.WEEK_OF_MONTH));

System.out.println(”DATE: ” + calendar.get(Calendar.DATE));

System.out.println(”DAY_OF_MONTH: ” + calendar.get(Calendar.DAY_OF_MONTH));

System.out.println(”DAY_OF_YEAR: ” + calendar.get(Calendar.DAY_OF_YEAR));

System.out.println(”DAY_OF_WEEK: ” + calendar.get(Calendar.DAY_OF_WEEK));

System.out.println(”DAY_OF_WEEK_IN_MONTH: ” + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));

System.out.println(”AM_PM: ” + calendar.get(Calendar.AM_PM));

System.out.println(”HOUR: ” + calendar.get(Calendar.HOUR));

System.out.println(”HOUR_OF_DAY: ” + calendar.get(Calendar.HOUR_OF_DAY));

System.out.println(”MINUTE: ” + calendar.get(Calendar.MINUTE));

System.out.println(”SECOND: ” + calendar.get(Calendar.SECOND));

System.out.println(”MILLISECOND: ” + calendar.get(Calendar.MILLISECOND));

System.out.println(”ZONE_OFFSET: ” + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));

System.out.println(”DST_OFFSET: ” + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));

System.out.println(”Current Time, with hour reset to 3″);

calendar.clear(Calendar.HOUR_OF_DAY); // so doesn’t override

calendar.set(Calendar.HOUR, 3);

System.out.println(”ERA: ” + calendar.get(Calendar.ERA));

System.out.println(”YEAR: ” + calendar.get(Calendar.YEAR));

System.out.println(”MONTH: ” + calendar.get(Calendar.MONTH));

System.out.println(”WEEK_OF_YEAR: ” + calendar.get(Calendar.WEEK_OF_YEAR));

System.out.println(”WEEK_OF_MONTH: ” + calendar.get(Calendar.WEEK_OF_MONTH));

System.out.println(”DATE: ” + calendar.get(Calendar.DATE));

System.out.println(”DAY_OF_MONTH: ” + calendar.get(Calendar.DAY_OF_MONTH));

System.out.println(”DAY_OF_YEAR: ” + calendar.get(Calendar.DAY_OF_YEAR));

System.out.println(”DAY_OF_WEEK: ” + calendar.get(Calendar.DAY_OF_WEEK));

System.out.println(”DAY_OF_WEEK_IN_MONTH: ” + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/230766.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 18:18
下一篇 2024-12-10 18:19

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論