`

典型日期操作

阅读更多
1.时间前推或后推分钟,其中JJ表示分钟. 
public static String getPreTime(String sj1, String jj) { 
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
  String mydate1 = ""; 
  try { 
  Date date1 = format.parse(sj1); 
  long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60; 
  date1.setTime(Time * 1000); 
  mydate1 = format.format(date1); 
  } catch (Exception e) { 
  } 
  return mydate1; 
} 

2.得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数 
public static String getNextDay(String nowdate, String delay) { 
  try{ 
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 
  String mdate = ""; 
  Date d = strToDate(nowdate); 
  long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60; 
  d.setTime(myTime * 1000); 
  mdate = format.format(d); 
  return mdate; 
  }catch(Exception e){ 
  return ""; 
  } 
} 
――――――――――――――
String date_str=String.valueOf(date);//日期累加显示
String dd = date_str.substring(8,10);
String DD = date_str.substring(0,8)+String.valueOf(Integer.parseInt(dd) +60);
java.sql.Date backTime= java.sql.Date.valueOf(DD);
System.out.println(backTime);
3.判断是否润年 
public static boolean isLeapYear(String ddate) { 

  /** 
  * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年 
  * 3.能被4整除同时能被100整除则不是闰年 
  */ 
  Date d = strToDate(ddate); 
  GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); 
  gc.setTime(d); 
  int year = gc.get(Calendar.YEAR); 
  if ((year % 400) == 0) 
  return true; 
  else if ((year % 4) == 0) { 
  if ((year % 100) == 0) 
    return false; 
  else 
    return true; 
  } else 
  return false; 
}
4.判断二个时间是否在同一个周 
public static boolean isSameWeekDates(Date date1, Date date2) { 
  Calendar cal1 = Calendar.getInstance(); 
  Calendar cal2 = Calendar.getInstance(); 
  cal1.setTime(date1); 
  cal2.setTime(date2); 
  int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR); 
  if (0 == subYear) { 
  if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) 
    return true; 
  } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) { 
  // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周 
  if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) 
    return true; 
  } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) { 
  if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) 
    return true; 
  } 
  return false; 
} 

5.产生周序列,即得到当前时间所在的年度是第几周 
public static String getSeqWeek() { 
  Calendar c = Calendar.getInstance(Locale.CHINA); 
  String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR)); 
  if (week.length() == 1) 
  week = "0" + week; 
  String year = Integer.toString(c.get(Calendar.YEAR)); 
  return year + week; 
} 

6.获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号 
public static String getWeek(String sdate, String num) { 
  // 再转换为时间 
  Date dd = VeDate.strToDate(sdate); 
  Calendar c = Calendar.getInstance(); 
  c.setTime(dd); 
  if (num.equals("1")) // 返回星期一所在的日期 
  c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); 
  else if (num.equals("2")) // 返回星期二所在的日期 
  c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); 
  else if (num.equals("3")) // 返回星期三所在的日期 
  c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); 
  else if (num.equals("4")) // 返回星期四所在的日期 
  c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY); 
  else if (num.equals("5")) // 返回星期五所在的日期 
  c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); 
  else if (num.equals("6")) // 返回星期六所在的日期 
  c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); 
  else if (num.equals("0")) // 返回星期日所在的日期 
  c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); 
  return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); 
} 

7.根据一个日期,返回是星期几的字符串 
public static String getWeek(String sdate) { 
  // 再转换为时间 
  Date date = VeDate.strToDate(sdate); 
  Calendar c = Calendar.getInstance(); 
  c.setTime(date); 
  // int hour=c.get(Calendar.DAY_OF_WEEK); 
  // hour中存的就是星期几了,其范围 1~7 
  // 1=星期日 7=星期六,其他类推 
  return new SimpleDateFormat("EEEE").format(c.getTime()); 
} 
public static String getWeekStr(String sdate){ 
  String str = ""; 
  str = VeDate.getWeek(sdate); 
  if("1".equals(str)){ 
  str = "星期日"; 
  }else if("2".equals(str)){ 
  str = "星期一"; 
  }else if("3".equals(str)){ 
  str = "星期二"; 
  }else if("4".equals(str)){ 
  str = "星期三"; 
  }else if("5".equals(str)){ 
  str = "星期四"; 
  }else if("6".equals(str)){ 
  str = "星期五"; 
  }else if("7".equals(str)){ 
  str = "星期六"; 
  } 
  return str; 
}
8.两个时间之间的天数 
public static long getDays(String date1, String date2) { 
  if (date1 == null || date1.equals("")) 
  return 0; 
  if (date2 == null || date2.equals("")) 
  return 0; 
  // 转换为标准时间 
  SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); 
  java.util.Date date = null; 
  java.util.Date mydate = null; 
  try { 
  date = myFormatter.parse(date1); 
  mydate = myFormatter.parse(date2); 
  } catch (Exception e) { 
  } 
  long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000); 
  return day; 
}

分享到:
评论
1 楼 远去的渡口 2010-01-12  
计算一个日期是当年第几周有bug,以你的算法,2009-12-29日是2009年第一周了

相关推荐

    C#开发典型模块大全

    10.3.2 当前日期的农历、天干地支年、节日及星座显示 235 10.3.3 定时提醒的实现 240 10.3.4 日历窗体效果控制 242 10.3.5 转到某天、某周、某月及某年的实现 243 10.3.6 节日管理 245 10.3.7 提醒管理 ...

    C#开发典型模块大全(光盘)第二部分

    明日科技出版的c#开发典型模块大全配套光盘,要的可以下载,因大小受限,分开上传! 第1章 认识C#及开发环境 1.1 C#概述 1.1.1 C#发展历程 1.1.2 C#语言编程环境 1.2.NETFramework2.0简介 1.2.1 什么是....

    JSP网站开发典型模块与实例精讲

    书名:JSP网站开发典型模块与实例精讲 图书编号:1656674 出版社:电子工业 定价:50.0 ISBN:712102874 作者:李振捷 出版日期:2006-08-09 版次: 开本:26cm 简介: 本书讲解了使用JSP开发网站系统的经典模块和工程实例。...

    C#开发典型模块大全(光盘)

    10.3.2 当前日期的农历、天干地支年、节日及星座显示 10.3.3 定时提醒的实现 10.3.4 日历窗体效果控制 10.3.5 转到某天、某周、某月及某年的实现 10.3.6 节日管理 10.3.7 提醒管理 第11章 文件批量处理器 11.1 ...

    VisualC++数据库开发典型模块与实例精讲.pdf_part1

    最后一部分精选了6个典型的数据库大型系统的实例,包括通讯录管理系统、短信防伪系统、宾馆程控电话计费系统、KTV点歌系统、资产管理系统和考试信息管理系统,这些实例源码都已经测试运行通过,并且已经放在了本书...

    PHP+Ajax网站开发典型实例-源代码

    实例7 检查日期的有效性 实例8 简单猜数游戏 实例9 验证信用卡号 实例10 计算两个数组并、交和差 实例11 数组排序 第2章 PHP文件实例 实例12 获取文件信息 实例13 文件写入并锁定 实例14 读取文件信息 实例15 随机...

    数据库设计典型报表.xls

    操作日志,日志ID,Yes,Yes,OperationLogID,, ,,操作时间,Yes,No,OperateTime,, ,,操作行为,Yes,No,OperateAction,, ,,操作内容,Yes,No,OperateContent,, 城市,一级市区,具体参考词典20,城市ID,Yes,Yes,RegisterdID,,...

    PHP+Ajax网站开发典型实例

    PHP+Ajax网站开发典型实例.。。 第1章 PHP基础实例 实例1 构建PHP运行环境 实例2 “你好,PHP”实例 实例3 中文时间显示实例 实例4 删除字符串中的空白 实例5 字符串反转 实例6 字符串加密 实例7 检查日期的...

    操作系统期末总结.doc

    湖北汽车工业学院操作系统期末知识点总结 制作日期:2016年5月30日 制 作 人 :Terlong 1.识别典型操作系统 答: 批量操作系统(多道) 分时操作系统(并行、独占、交互) 实时操作系统(实时、可靠、安全)。 2. ...

    丹佛斯软启动器MCD500中文操作手册.pdf

    典型启动电流39 带主接触器的安装41 带旁路接触器的安装42 紧急运行操作43 辅助跳闸电路44 软制动45 两速电动机46 6 更改49 LCP 49 控制方法49 本地控制按钮50 显示50 温度监视屏幕 (S1) 51 可编程屏幕 (S2) 51 平均...

    Visual C++数据库通用模块及典型系统开发实例导航 pdf 和随书光盘源码

    Visual C++数据库通用模块及典型系统开发实例导航 PDF和随书光盘源码 作者: 求是科技 丛书名: 实例导航系列丛书 出版社:人民邮电出版社 出版日期:2006 年3月 页码:345

    C# winform典型系统开发模板

     10.3.2 当前日期的农历、天干地支年、节日及星座显示 235  10.3.3 定时提醒的实现 240  10.3.4 日历窗体效果控制 242  10.3.5 转到某天、某周、某月及某年的实现 243  10.3.6 节日管理 245  ...

    C#开发典型模块大全(光盘)第一部分

    明日科技出版的c#开发典型模块大全配套光盘,要的可以下载,因大小受限,分开上传! 第1章 认识C#及开发环境 1.1 C#概述 1.1.1 C#发展历程 1.1.2 C#语言编程环境 1.2.NETFramework2.0简介 1.2.1 什么是....

    VisualC++数据库开发典型模块与实例精讲.pdf_part2

    最后一部分精选了6个典型的数据库大型系统的实例,包括通讯录管理系统、短信防伪系统、宾馆程控电话计费系统、KTV点歌系统、资产管理系统和考试信息管理系统,这些实例源码都已经测试运行通过,并且已经放在了本书...

    sqlserver2000基础(高手也有用)

    15.2.3 索引对数据操作的影响 469 15.3 数据库日志疑难解答 470 15.3.1 影响日志文件增长的因素 471 15.3.2 从事务日志中删除日志记录 472 15.3.3 日志文件处理中的误区 472 15.3.4 合理解决日志文件增长...

    matlab导入excel代码-R-for-Data-Science-dates-and-times:有关R日期和时间的LinkedIn学习课

    典型的日期计算 了解如何识别何时使用日期和时间运算符 日期和时间如何存储在R中 了解Date对象包含的内容以及其用途。 选择正确的日期和时间工具 了解如何为特定应用选择最佳日期或时间工具。 2. Base R中的日期和...

    Java餐馆订单服务系统源代码

    2)删除一个被选中的预约(delete操作),3)在一个已有预约上记录到达时间(提前预约的顾客来吃饭了)(对应update操作),4)更改分配给一个预约的餐桌(update操作),5)显示指定日期内所有已有的预约(select...

    Android典型技术模块开发详解

    8.9.3 DatePickerDialog & TimePickerDialog(日期时间选择框) 8.10 Menu(菜单) 8.10.1 options menu 8.10.2 context menu 8.10.3 sub menu 8.11 Notification(通知) 8.11.1 一般的Notification 8.11.2 带进度...

    AJAX基础概念、核心技术与典型案例(内涵动态实例)

    最典型的Google Maps和Gmail等Google服务也正是基于此框架开发的。读者将能够快速掌握GWT的各种开发所涉及到的内容。 /firstgwt/FirstGWT.html 第一个GWT示例 /calculator/TexCalculator.html 个税计算器 第...

Global site tag (gtag.js) - Google Analytics