首页 > 编程知识 正文

java跨月获取前七天日期,java获取某个月的天数

时间:2023-12-24 21:58:45 阅读:322017 作者:POLF

本文目录一览:

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));

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。