`
可怜狼
  • 浏览: 32902 次
  • 来自: 北京
社区版块
存档分类
最新评论

java代码求时间问题

    博客分类:
  • java
 
阅读更多

我想求出 系统七天前的时间,怎么总是出错,

 

package com.pa;

public class DateTest
{
 private String year;
 private String month;
 private String day;
    private int yy,mm,dd;
 //初始化是取得系统时间
 public DateTest()
 {
 
  java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        java.util.Date currentTime = new java.util.Date();
        String date = formatter.format(currentTime);
          year = date.substring(0,4);
          month = date.substring(5,7);
          day = date.substring(8,10);
         
           yy = Integer.parseInt(year); 
           mm = Integer.parseInt(month);
           dd = Integer.parseInt(day);
 }
   
 
 
  //得到昨天的时间
    public int getLastMonthDay(int MM)
    {
     int new_mm = MM-1;
     int new_dd;
     if(yy%4==0)//判断闰年,平年,得到二月的实际天数
     {
       new_dd=29;
     }
  
  else if(new_mm==1||new_mm==3||new_mm==5||new_mm==7||new_mm==8||new_mm==10||new_mm==12)//判断月份,得到除二月外的具体天数
     {
         new_dd=31;
     }
     else if(mm==4||mm==6||mm==9||mm==11)
     {
      new_dd=30;
     }
     else
     {
      new_dd=28;
     }  
     return new_dd;
    }
  
    public String getYesterdayTime()
    {  
     String yesterday;
     int dd = Integer.parseInt(day);
     if(dd==1)
     {
      if(mm==1)
      {
       yesterday = String.valueOf(yy-1)+"-12-31";
      }
      else
      {
       yesterday = year+"-"+String.valueOf(mm-1)+"-"+String.valueOf(getLastMonthDay(mm));
      }
     }
     else
     {
      yesterday = year+"-"+month+"-"+String.valueOf(dd-1);
     }
     return yesterday;
    }
    //得到上个礼拜的时间
 
    public String getLastWeekTime()
    {
     String lastWeekTime;
     if(dd<7)
     {
       if(mm==1)
       {  
       
        lastWeekTime = String.valueOf(yy-1)+"-12"+"-"+String.valueOf(31+dd-7);
       }
       else
       {
        int m = mm-1;
        int d = getLastMonthDay(mm)+dd-7;
        lastWeekTime = year+"-"+String.valueOf(m)+"-"+String.valueOf(d);
       }
     }
     if(dd==7)
     {
      if(mm==1)
      {
       lastWeekTime = String.valueOf(yy-1)+"-12-31";
      }
      else
      {
       lastWeekTime = year+"-"+String.valueOf(mm-1)+"-"+String.valueOf(getLastMonthDay(mm));
      }
     }
     else
     {
      lastWeekTime = year+"-"+month+"-"+String.valueOf(dd-7);
     }
     return lastWeekTime;
    }
    //得到上个月的时间
    public String getLastMonth()
    {
     String lastMonthDay;
     if(mm==1)
     {
      lastMonthDay = String.valueOf(yy-1)+"-12-31";
     }
     else
     {
      lastMonthDay = year+"-"+String.valueOf(mm-1)+"-"+day;
     }
     return lastMonthDay;
    }
    //得到上个季度时间
    public String getLastQuarterTime()
    {
     String lastQuarterTime;
     String startMonthTime = null;
     String endMonthTime = null;
     if(mm>=1&&mm<=3)
     {
      startMonthTime = String.valueOf(yy-1)+"-10-31";
      endMonthTime = String.valueOf(yy-1)+"-12-31";
     }
     if(mm>=4&&mm<=6)
     {
      startMonthTime = year+"-01-31";
      endMonthTime = year+"-03-31";
     }
     if(mm>=7&&mm<=9)
     {
      startMonthTime = year+"-04-30";
      endMonthTime = year+"-06-30";
     }
     if(mm>=10&&mm<=12)
     {
      startMonthTime = year+"-07-31";
      endMonthTime = year+"-09-30";
     }
     lastQuarterTime = startMonthTime+"*"+endMonthTime;
     
  return lastQuarterTime;
     
    }
    public static void main(String args[])
    {
     DateTest dt = new DateTest();
   
     String lastweek = dt.getLastWeekTime();
     
     
     System.out.print(lastweek);
    }
}

分享到:
评论
1 楼 jiyong1001 2007-04-03  
弄那么复杂干什么,看下面代码,同样是得到系统7天前的时间:



import java.util.Date;

public class DateTest {
	public static void main(String[] args) {
		java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		Date now=new Date();
		
		long nowTime=now.getTime()/1000;
		now.setTime((nowTime-24*60*60*7)*1000);
		
		String nowStr=sdf.format(now);
		System.out.println(nowStr);
		
	}

}


相关推荐

    java代码自动生成工具

    Java代码自动生成工具是一种高效开发辅助软件,它能够根据预设的模板或规则,自动创建出符合特定规范的Java源代码。这样的工具极大地提升了开发效率,减少了程序员在编写重复性结构化代码上的时间,使他们可以更加...

    java 格式代码模板

    在团队协作中,统一的代码格式和模板至关重要,因为它可以减少代码审查的工作量,避免因格式问题引发的冲突。团队可以通过共享`codeFormatter.xml`和`codetemplates.xml`文件,确保所有成员遵循相同的编码标准。 ...

    java获取当前时间代码

    Java 获取当前时间代码详解 Java 获取当前时间是 Java 编程中一个非常重要的知识点。通过 Java,我们可以获取当前系统时间,并将其格式化为各种时间格式,这些格式化后的时间数据可以应用于 GUI 编程和数据库编程...

    Java经典代码 Java经典代码

    "Java经典代码"通常指的是在Java编程中常见的、实用的、经过时间检验的代码片段,这些代码可以解决常见问题,或者展示了一些核心概念和技术。在这个Java项目案例导航源代码的压缩包中,我们可以期待找到各种各样的...

    Java代码注释率检查器.rar

    Java代码注释是编程实践中非常重要的一个环节,它有助于提高代码的可读性和维护性。注释能够解释代码的功能、用途以及实现逻辑,使得其他开发者能更快地理解代码,尤其在团队协作中更是不可或缺。本资源"Java代码...

    四种常用的java代码扫描工具介绍

    3. 显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成本。 静态代码分析的主要技术包括缺陷模式匹配、类型推断、模型检查和数据流分析等。 Checkstyle 是一个开源项目,通过检查对代码...

    java代码注释模板

    Java代码注释是编程实践中非常重要的一个环节,它有助于提高代码的可读性和维护性。在团队合作中,良好的代码注释能够帮助其他开发者更快地理解代码的功能和逻辑,节省了阅读和调试的时间。本资源包含一个“java代码...

    java代码性能问题检查计划及方案

    Java代码性能问题检查计划及方案 在Java编程中,性能问题往往是开发者关注的重点。虽然Java语言自身具有高效、跨平台的特性,但程序的运行效率却更多地取决于开发者的设计和编码习惯。本方案旨在提供一个详细的检查...

    时间轮的java代码实现

    时间轮, 判断超时,java代码实现,亲测可用,一般时间轮实现网上都是c语言版

    java 代码生成器

    Java代码生成器是一种高效开发工具,它可以帮助程序员自动化地生成大量的基础代码,从而极大地提高开发效率,减少重复劳动。在Java开发中,特别是在企业级应用系统构建时,大量的数据访问层(DAO)、服务层(Service...

    约瑟夫环问题Java代码实现

    约瑟夫环问题Java代码实现 约瑟夫环问题是一种经典的算法问题,指的是在一个圆形排列的n个人中,每次从1开始报数,凡是报到m的人出局,问最后出局的人是谁。这个问题可以使用Java语言来实现。 约瑟夫环问题的Java...

    java代码统计工具

    Java代码统计工具是一种实用程序,它能够帮助开发者量化其Java项目的代码规模,这对于项目管理和代码质量分析至关重要。这个工具的主要功能是计算Java源代码文件的数量、行数以及其他相关的度量指标,例如类、方法和...

    java代码转c#

    描述中的"java to c# java to csharp java2c# java代码转c#"进一步强调了转换的目标,表示用户可能已经花费了一定的时间寻找如何将Java代码转换为C#的方法,这可能包括在线搜索、阅读文档或者尝试不同的工具。...

    关于动态规划求最大子段和的Java代码写法

    关于动态规划求最大子段和的Java代码写法 本文主要讲述了使用 Java 语言实现动态规划算法来求最大子段和的代码写法。动态规划是一种非常重要的算法设计技术,它可以解决许多复杂的问题。 首先,我们需要了解什么是...

    最快速的java代码生成器 rapid-generator

    "最快速的Java代码生成器 Rapid-Generator"是一款专为Java开发者设计的高效工具,旨在提升开发效率,减少手动编写重复代码的工作量。这款工具以其快速、灵活和强大的自定义能力在Java开发社区中受到广泛关注。 ...

    java代码实现短信猫发短信

    Java代码实现短信猫发送短信是一项常见的通信应用,主要利用了串行通信技术。短信猫,又称GSM调制解调器,是一种硬件设备,通过USB或串口与计算机连接,可以实现短信的收发功能。在Java编程环境中,我们可以利用Java...

    Java 代码生成器

    使用Java代码生成器可以提高软件开发的效率,特别是在企业级应用开发中,当涉及到大量的数据库操作时,代码生成器能够快速生成基础的CRUD操作代码,让开发者有更多时间专注于业务逻辑的实现。同时,它还可以减少错误...

    java代码快捷编译运行工具

    Java代码快捷编译运行工具是针对初学者设计的一款实用程序,旨在简化Java编程过程中常见的编译和运行步骤。对于刚接触Java编程的开发者来说,通过命令行(CMD)进行源码的javac编译和java运行可能会感到繁琐,而这款...

    基于IDEA调试模式与StopWatch工具类如何优雅实现Java代码执行时间检测统计博文的代码工程

    作为程序员在我们的日常编码过程中经常需要统计一段代码或者一个方法的执行时间,尤其是当以一...这是基于IDEA调试模式与StopWatch工具类如何优雅实现Java代码执行时间检测统计的代码工程资源文件,欢迎大家下载学习。

    Bezier曲线代码 java

    在Java代码中,你可能会看到如下的伪代码结构: ```java public class BezierCurve { private Point[] controlPoints; public BezierCurve(Point[] points) { this.controlPoints = points; } public Point ...

Global site tag (gtag.js) - Google Analytics