文档章节

java中对时间的操作(望批评指正...)

阳光黑马
 阳光黑马
发布于 2015/04/29 09:21
字数 331
阅读 108
收藏 6

代码演示:

//数据库中去的日期

  Date s = list.get(0).getSdate();

  System.out.println(s);// Tue Apr 28 00:00:00 CST 2015

  //手动new

  Date d = new Date();

  System.out.println(d);// Tue Apr 28 20:53:15 CST 2015

  System.out.println("++" + s.after(d));

  //使用Calendar

  Calendar calendar = Calendar.getInstance();

  Date time = calendar.getTime();

  System.out.println(time);// Tue Apr 28 20:55:16 CST 2015

  //使用日期格式化

  SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");

  String format2 = format.format(s);

  System.out.println("format2" + format2);// 2015/04/28

  //再解析

  Date parse = format.parse(format2);

  System.out.println("parse" + parse);// Tue Apr 28 00:00:00 CST 2015

  System.out.println("???" + (s.getTime() >= parse.getTime()));// true
  //使用jodatime

  DateTime dt = new DateTime();

  System.out.println(dt);// 2015-04-28T21:00:28.780+08:00

  System.out.println(dt.toDate());// Tue Apr 28 21:00:28 CST 2015

写了2个方法,用于处理:

1.比较2个日期大小(只比较年月日部分)
/**
  * 对2个日期进行比较,无论是从数据库中取出的date,还是new的
  * @param d1
  * @param d2
  * @return
  */
 private String compareDate(Date d1,Date d2){
  if(d1==null || d2==null){
   return "error";
  }
  long time1 = new LocalDate(d1).toDate().getTime();
  long time2 = new LocalDate(d2).toDate().getTime();
  if(time1>time2){
   return ">";
  }else if(time1==time2){
   return "==";
  }else{
   return "<";
  }
 }
2.比较2个日期大小(只比较年月日部分)
// 只比较年月日大小
 private String compareDate(Date s, Date d) throws ParseException {
  SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
  if (format.parse(format.format(s)).getTime() > format.parse(
    format.format(d)).getTime()) {
   return ">";
  } else if (format.parse(format.format(s)).getTime() == format.parse(
    format.format(d)).getTime()) {
   return "==";
  } else {
   return "<";
  }
 }

有发现问题的可以留言指正,初学见谅。。。

© 著作权归作者所有

共有 人打赏支持
阳光黑马
粉丝 9
博文 21
码字总数 11705
作品 0
海淀
程序员
私信 提问
加载中

评论(1)

简单代码
简单代码
用date4j吧!
java基础io流——配角也风流(不求甚解)

本章简单介绍几个常见的io流派生。 1:数据操作流(操作基本类型数据的流)(理解) 代码示例: 2:内存操作流(理解) 用于处理临时存储信息的,程序结束,数据就从内存中消失。 代码示例: 注:查看...

潇潇漓燃
05/30
0
0
原创:分享封装好的面向JAVA的memcached客户端操作类

书接上文:理论加实践,谈谈我对memcached的学习感悟! 接近两周的时间,终于将面向JAVA的memcached客户端操作类封装写完。 现将当前的成果共享上来,希望有经验的朋友能指点一二。 一、初衷...

netwild
2013/05/14
0
0
Java并发编程:深入剖析ThreadLocal

想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用...

海子_枫子
2015/07/04
0
0
J2Cache示例程序运行报错

运行runtest.bat报错,见下: >java -Djava.ext.dirs=lib -cp bin net.oschina.j2cache.CacheTester Exception in thread "main" java.lang.UnsupportedClassVersionError: net/oschina/j 2......

zhuganlai
2016/06/27
715
3
ElasticSearch java API - 聚合查询-聚合多字段聚合demo

以球员信息为例,player索引的player type包含5个字段,姓名,年龄,薪水,球队,场上位置。 index的mapping为: 索引中的全部数据: 首先,初始化Builder: 接下来举例说明各种聚合操作的实...

xiaomin0322
07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

border实现等高布局

效果图 实现上图效果的全部html+css代码 <div class="box"> <nav> <h3 class="nav">导航1</h3> <h3 class="nav">导航2</h3> </nav> <section> <div cla......

呵呵闯
16分钟前
0
0
MaxCompute 表(Table)设计规范

表的限制项 表(Table)设计规范 表设计主要目标 表设计的影响 表设计步骤 表数据存储规范 按数据分层规范数据生命周期 按数据的变更和历史规范数据的保存 数据导入通道与表设计 分区设计与逻辑...

阿里云云栖社区
22分钟前
0
0
局域网共享文件读写的实现方式

代码片段 首先是设置共享目录,支持用户和密码等权限控制 然后我们可以使用Windows资源管理器操作共享目录下的文件 这中间隐藏了资源管理器帮我们建立目录映射和连接的过程,如果设置了用户名...

夏至如沫
31分钟前
4
0
Elasticsearch安装与配置

一、Docker安装ES 开发模式 可以使用以下命令快速启动Elasticsearch以进行开发或测试: $ docker run -p 9200:9200 -p 9300:9300 -d --name es -e "discovery.type=single-node" docker.ela...

吴伟祥
38分钟前
3
0
移动页面滚动穿透解决方案(荐)

移动页面滚动穿透解决方法目前有多种解决方案,我介绍下几种方案: 解决方案1:阻止冒泡。 //关键代码$(".sliders,.modals").on("touchmove",function(event){    event.preventDefau...

壹峰
38分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部