`
lthu
  • 浏览: 59432 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java中关于星期时间的操作(收藏)

    博客分类:
  • java
阅读更多
java 代码
  1. java中关于星期时间的操作   
  2.   
  3. 在最近的一个OA中,我需要判断两个日期是否是同一周,根据一个给定的日期获得所属周的周一和周五的日期。   
  4.   
  5. 在完成以上任务时,我发现Calendar 的确是一个功能强大的class。   
  6.   
  7. 下面给出源码,供兄弟们参考指正。   
  8.   
  9.     
  10.   
  11. /*  
  12.  * 创建日期 2005-3-30  
  13.  
  14. package com.infoearth;  
  15.  
  16. import java.sql.Timestamp;  
  17. import java.text.*;  
  18. import java.util.*;  
  19. /**  
  20.  * @李春雷  
  21.  *  
  22. public class ManageWeek {  
  23.  //判断两个日期是否在同一周  
  24.  boolean isSameWeekDates(Date date1, Date date2) {  
  25.   Calendar cal1 = Calendar.getInstance();  
  26.   Calendar cal2 = Calendar.getInstance();  
  27.   cal1.setTime(date1);  
  28.   cal2.setTime(date2);  
  29.   int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);  
  30.   if (0 == subYear) {  
  31.     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))  
  32.    return true;  
  33.   }  
  34.   else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {  
  35.     // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周  
  36.     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))  
  37.    return true;  
  38.   }  
  39.   else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {  
  40.     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))  
  41.    return true;  
  42.   }  
  43.   return false;  
  44.  }  
  45.    
  46.    
  47.  //产生周序列  
  48.  public static String  getSeqWeek(){  
  49.   Calendar c = Calendar.getInstance(Locale.CHINA);  
  50.   String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));  
  51.   if(week.length()==1)week = "0" + week;  
  52.   String year = Integer.toString(c.get(Calendar.YEAR));    
  53.   return year+week;  
  54.     
  55.  }  
  56.     
  57.   //获得周一的日期  
  58.   public static String getMonday(Date date){  
  59.    Calendar c = Calendar.getInstance();  
  60.    c.setTime(date);  
  61.    c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);  
  62.    return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());  
  63.   }  
  64.     
  65.     
  66.   //获得周五的日期  
  67.   public static String getFriday(Date date){  
  68.    Calendar c = Calendar.getInstance();  
  69.    c.setTime(date);  
  70.    c.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);     
  71.    return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());    
  72.   }  
  73.  
  74. //当前日期前几天或者后几天的日期  
  75.  
  76.  public static String afterNDay(int n){  
  77.         Calendar c=Calendar.getInstance();  
  78.         DateFormat df=new SimpleDateFormat("yyyy-MM-dd");  
  79.         c.setTime(new Date());  
  80.         c.add(Calendar.DATE,n);  
  81.         Date d2=c.getTime();  
  82.         String s=df.format(d2);  
  83.         return s;  
  84.     }  
  85.     
  86.   public static void main(String[] args){  
  87.  
  88.   }  
  89.  
  90. }  
  91.  
  92.    
  93.  
  94. 经常碰到把一个字符串转成一个Date的问题,其实就3句话:  
  95.  
  96. String myString = "2005/12/20";  
  97.  
  98. SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);  
  99. Date d = sdf.parse(myString);  
  100.  
  101. 下面是个例子,存档  
  102.  
  103.  
  104. package formatdatetime;  
  105.  
  106. import java.text.*;  
  107. import java.util.*;  
  108.  
  109. /**  
  110.  * @author Administrator  
  111.  *  
  112.  * TODO 要更改此生成的类型注释的模板,请转至  
  113.  * 窗口 - 首选项 - Java - 代码样式 - 代码模板  
  114.  */  
  115. public class StringToDateTimeTest {   
  116.   
  117.  public static void main(String[] args) {   
  118.   
  119.   String myString = "Tue Oct 18 04:11:56 CST 2005";   
  120.   //String myString = "2005/12/20";   
  121.   try {   
  122.    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);   
  123.    //SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);   
  124.    Date d = sdf.parse(myString);   
  125.    Calendar c = Calendar.getInstance();   
  126.    c.setTime(d);   
  127.    String s = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());   
  128.    System.out.println(s);   
  129.       
  130.   } catch (Exception e) {   
  131.    e.printStackTrace();   
  132.   }   
  133.  }   
  134. }   
  135.   
  136.   
  137. 转自:http://blog.csdn.net/lcllcl987/archive/2005/04/04/336050.aspx   
  138.   
  139.      
  140.   
  141. 原创文章如转载,请注明:转载自:巴士飞扬-技术BLOG : http://www.busfly.cn/   
  142.   
  143. 本文链接地址:http://www.busfly.cn/post/137.html    
  144.   
  145. 如果你喜欢本文,请顶一下,支持我,你的支持是我继续发好文章的最大动力。谢谢。    
  146. 好东西需要分享,快把本文发给你的朋友吧~!~   
分享到:
评论

相关推荐

    java获取星期几方法

    java中获取星期几的方法,简单的小程序,分享java中获取星期几的方法,简单的小程序

    JAVA_API1.6文档(中文)

    java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...

    java操作文件,得到文件名,大小,时间,及修改时间

    java操作文件,得到文件名,大小,时间,及修改时间java操作文件,得到文件名,大小,时间,及修改时间java操作文件,得到文件名,大小,时间,及修改时间

    java 获取当前日期时间和本周的星期一的日期时间.docx

    在Java中,获取当前日期时间以及本周星期一的具体日期时间是一项常见的需求,特别是在处理与日期相关的业务逻辑时。本文将详细介绍如何利用Java内置类`Calendar`和`SimpleDateFormat`来实现这一功能。 #### 一、...

    JAVA 实现 switch循环 判断是星期几

    JAVA 实现的 SWITCH 循环 判断是星期几 小试身手

    java最全时间工具类,针对年月日周的操作

    java时间操作工具类,已封装好,包含获取某一时间的年,月,日,星期。以及对某一时间进行年,月,日,周的加减。还有获取某一时间年,月,日,周的起始和结束时间等等

    Java API文档 中文网页版

    在Java中,API主要由Sun Microsystems(现为Oracle公司)维护,是Java平台的核心组成部分。它包括了Java标准库中的各种类库,如集合框架、输入/输出流、网络编程、多线程、图形用户界面(GUI)等。 Java API文档...

    Java 中文入门学习手册合集[chm版]

    语言入门 第一章 Java语言的产生及其...第九章 Java输入输出操作 java新手教程.chm JAVA_精通swing程序设计.chm JAVA_类库中文版Java API_Sun公司官方出版.chm JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    Java自定义日期时间选择控件

    首先,我们需要理解Java中的日期时间处理。Java提供了`java.util.Date`、`java.util.Calendar`以及`java.text.SimpleDateFormat`等类来处理日期和时间。但这些原生API在处理复杂的用户界面交互时可能会显得不够灵活...

    ElasticSearch Java API 中文文档

    标题《ElasticSearch Java API 中文文档》表明本篇文档的主要内容是关于ElasticSearch的Java API的中文使用说明和相关知识点介绍。ElasticSearch是一个基于Lucene构建的开源搜索引擎,它提供了一个分布式、多用户...

    java源码包---java 源码 大量 实例

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    Java利用FFmpeg解析视频,截图,获取视频播放时间

    在Java中集成FFmpeg,可以实现对视频的深度操作,例如获取元数据、截图以及计算视频播放时间。 首先,我们要理解FFmpeg如何工作。FFmpeg通过命令行接口执行各种任务,例如转换视频格式、提取音频、调整视频质量等。...

    java中文排序,数字字母汉字排序

    首先,我们需要理解Java中的排序机制。Java集合框架中的`List`接口提供了一个`sort(Comparator<? super E> comparator)`方法,可以接受一个比较器(Comparator)来定义自定义的排序规则。默认情况下,Java使用自然...

    java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

    JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷歌翻译,非人工翻译。准确性不能保证,请与英文版配合使用 ...

    Head First Java 中文高清版pdf

    除此之外,书中的案例涵盖了集合框架,包括ArrayList、LinkedList、HashMap等,这些都是Java开发中不可或缺的数据结构。此外,还会介绍泛型、枚举和注解,这些都是现代Java编程中的重要元素。 最后,书籍还讲解了...

    Java OCR 图像智能字符识别技术,可识别中文

    Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的文本格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票处理等。...

    java中可使用的datatable

    在java下可用的datatable组件,提供了jar包和调用例子。jar包从国外一个网站找到的,可惜找遍了也没找到怎么使用,费了半天挨个试,终于知道怎么用了(从resultset到datatable,加行,加列,赋值,取值,循环显示等...

    关于java的外文文献(中英对照)

    本文主要介绍了Java语言在因特网中的应用,讨论了Java语言的特点和优势,并对比了Java语言与其他编程语言的异同。 首先,Java语言是一种新的编程语言,它可以解决传统的程序设计问题,同时也可以解决World Wide Web...

    java倒计时源代码

    在Java中,倒计时通常通过`java.util.Timer`或`java.time`包中的类来实现。`Timer`类可以创建定时任务,按照预定的时间间隔执行特定的操作,比如更新倒计时的显示。而`java.time`包提供了更高级的时间和日期处理能力...

    JAVA8API-官方文档下载-中文版

    2. **Nashorn JavaScript引擎**: 提供了在Java中执行JavaScript代码的能力,便于混合编程。 3. **并行数组操作**: `java.util.parallel`包提供了并行版本的数组操作,如`Arrays.parallelSort()`。 4. **集合工厂...

Global site tag (gtag.js) - Google Analytics