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/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

发表回复

登录后才能评论