当前位置:  技术问答>java相关

新手请教老问题,关于日期的转换,还请各位不怕麻烦。谢谢。

    来源: 互联网  发布时间:2015-09-11

    本文导语:  我现在得到两个输入的字符串日期,比如 String dt1="2002-09-08"; String dt2="2002-09-15"; 由于需要我要先dt1加上10天后,比较是否等于dt2,如果等,就不做处理, 如果不等,则要将dt1加上2天,dt2减去3天,取这两个的时间段。 ...

我现在得到两个输入的字符串日期,比如
String dt1="2002-09-08";
String dt2="2002-09-15";
由于需要我要先dt1加上10天后,比较是否等于dt2,如果等,就不做处理,
如果不等,则要将dt1加上2天,dt2减去3天,取这两个的时间段。

我知道要用
SimpleDateFormat eDate= new SimpleDateFormat("yyyy-MM-dd");
java.util.Date edt=eDate.parse(endDate);
但我不知道怎样去比较两个日期是否相等,或不等,
然后有应该怎么才能加个10天。

请各位给个明确帮助。谢谢!!

|
SimpleDateFormat eDate = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date edt = eDate.parse(endDate);
加上10天:
edt = new Date(edt.getTime() + 10 * 1000 * 60 * 60 * 24);
比较两个Date是否相等,可以用Date的equals()方法,也可以直接用getTime()方法得到两个日期对应的long型值,然后进行比较。

|
import java.util.*;

/**
 * 

Title: menchTitle


 * 

Description: menchTemplet


 * 

Copyright: Copyright (c) 2002


 * 

Company: 


 * @author Mench
 * @version 1.0
 */

public class TestMain {

  public TestMain() {
  }

  public void test(){
    Calendar cal1=Calendar.getInstance();
    Calendar cal2=Calendar.getInstance();
    cal1.set(2002,8,8);
    cal2.set(2002,8,15);

    System.out.println(cal1.getTime());
    System.out.println(cal2.getTime());

    cal1.add(Calendar.DAY_OF_MONTH,10);
    if(cal1.after(cal2)||cal1.before(cal2)){
      cal1.add(Calendar.DAY_OF_MONTH,2);
      cal2.add(Calendar.DAY_OF_MONTH,-3);
      System.out.println("相等");

    }else{
      System.out.println("相等");
    }

    System.out.println(cal1.getTime());
    System.out.println(cal2.getTime());
    //cal.add(cal1.DAY_OF_MONTH,10);
/*
   我现在得到两个输入的字符串日期,比如
String dt1="2002-09-08";
String dt2="2002-09-15";
由于需要我要先dt1加上10天后,比较是否等于dt2,如果等,就不做处理,
如果不等,则要将dt1加上2天,dt2减去3天,取这两个的时间段。

我知道要用
SimpleDateFormat eDate= new SimpleDateFormat("yyyy-MM-dd");
java.util.Date edt=eDate.parse(endDate);
但我不知道怎样去比较两个日期是否相等,或不等,
然后有应该怎么才能加个10天。

    */


  }
  public static void main(String[] args) {
    TestMain testMain = new TestMain();
    testMain.test();
  }
}

|
我用了一个比较笨的方法,你按照这个在改一下,就能实现了:
import java.util.Date;
import java.text.SimpleDateFormat;

 String dt1="2002-09-08";
String dt2="2002-09-15";


  SimpleDateFormat eDate= new SimpleDateFormat("yyyy-MM-dd");
  java.util.Date sdt=eDate.parse(dt1);
  Date edt = eDate.parse(dt2);
  if(((sdt.getTime()+864000000)/86400000)==edt.getTime()/86400000){
    System.out.println((sdt.getTime()+864000000)/86400000);
    System.out.println("zhang");
  }else{
    
    System.out.println(edt.getTime()/86400000);
    System.out.println("hong");
    System.out.println((sdt.getTime()+864000000)/86400000);
  }

|
用 java.util.Calendar 对象的 roll() 方法。

|
看看java.util.Calendar 的帮助,你就能找到答案,而且会很有长进。

    
 
 

您可能感兴趣的文章:

  • 新手请教,我用VI时按ESC键,总是回嘟嘟嘟嘟响,请问如何去掉!谢谢!
  • 新手请教Linux和ubuntu
  • Linux新手请教声卡驱动!!!!!!!!!!!
  • 新手来请教一个关于IDE的问题
  • 大家好,我是linux新手,有些问题请教
  • 新手,有问题请教!
  • 新手,请教关于文件编辑问题...
  • 新手请教:RedHat Linux 7.3下的网络连接问题
  • 新手请教arm与linux的问题
  • 新手虚心请教.在线等复....vsftp配置成功后,本机可以FTP上,但其他系统通过FTP工具不能上.防火墙不能关..
  • 新手请教啦~~能不能帮忙推荐几本书
  • 新手,请教安装SCO Unix的问题
  • 新手请教!!!!
  • 新手请教2
  • 新手请教:我的声卡所附光盘提供了下面的这些文件,我怎么安装驱动?
  • 新手的问题,请教高手
  • 新手请教安装问题!
  • 新手向大家请教jsp,servlet的调试,发布问题
  • 我是新手,请教LINUX下如何访问光驱里的文件。
  • 新手请教一下学习GCC的经验
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 新手的问题,很简单的,麻烦各位高手指点!:)
  • 我是新手,麻烦大家问几个小问题
  • 新手想做一个数据库函数库作练习,是仿照《unix高级环境编程〉的那个例,书上是非集中式的,不过我想搞集中式的,麻烦大家给个意见
  • IIC错误----新手,麻烦大虾提点,谢谢
  • 新手如何加入开源项目 有什么好的c++,java 开源适合新手 请指点!
  • JDBC的问题,新手高手都来看看吧,说不定能帮帮我这个新手呢,谢谢!
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 新手关于驱动开发的疑问
  • 新手有关linux的问题!
  • 新手急求~~~~~~~~~~~~~~~~~~~
  • 新手学习该用哪个版本
  • 面向新手的终端辅助工具 Clicompanion
  • 我是个新手,请各位老兄给介绍基本好书?
  • 我是新手
  • 新手:用WEB页面修改数据库中的表?
  • Java新手上路之问题
  • 我是一名新手,请问如何学java
  • (新手)这里怎么看到300篇以外的所有文章?(不是搜索)
  • 新手求助!
  • 新手上路,怎样判断网卡是否安装成功?
  • !!新手求救!!
  • 新手在此多谢了:SUN的宠物商店
  • 新手求救!!关于变量初始化
  • 新手问题:RH怎么退回字符界面? 急!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3