`
lthu
  • 浏览: 58859 次
  • 性别: 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类,可以作为自己收藏,里面含有各种时间操作,绝对好用

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

    在Java中,经常需要处理与日期和时间相关的操作,比如获取当前日期时间、计算本周的星期一等。这些操作可以通过`java.util.Calendar`类和`java.text.SimpleDateFormat`类来实现。 #### 1. 导入必要的类 首先,我们...

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

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

    时间序列算法java实现

    总之,时间序列预测在Java中是一个强大的工具,可以帮助我们理解和预测各种领域的数据变化。通过熟悉上述算法和利用Java库,你可以构建出高效且准确的预测模型。不过,要注意,任何预测模型都有其局限性,实际应用时...

    java swing 时间日期选择控件

    标签“java日期控件”强调了这个主题关注的是Java中与日期选择相关的控件,不仅仅是Swing,也可能是JavaFX或其他库提供的日期选择组件。但在这里,我们主要讨论的是Swing环境下的实现。 在压缩包的"swing 时间控件...

    JAVA_API1.6文档(中文)

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

    java文件夹按时间、大小等排序

    首先,我们要引入`java.io.File`类,它是Java中用于表示文件和目录的基本类。我们可以创建`File`对象来代表一个具体的文件或目录,然后通过这个对象获取文件的各种属性,如创建时间、修改时间以及文件大小等。 对于...

    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操作HID USB设备

    在Java中,直接操作USB设备并不像处理其他系统资源那样简单,因为Java的标准库并没有内置对USB的支持。但是,通过第三方库,我们可以实现这一功能。"java读写HID设备"描述中的"封装好的API"很可能是指一个专门为处理...

    Java_Modbus的操作(实例)

    Java ModBus 操作实例主要涉及了使用Java进行ModBus通信以及串口通信的过程。ModBus是一种广泛应用的工业通信协议,常用于PLC、数采...在实际应用中,这样的Java ModBus操作实例可用于自动化监控、工业控制等多个领域。

    java根据时间生成唯一ID

    java根据时间生成唯一ID,普通的根据时间生成的ID放在循环内很容易重复。

    ElasticSearch Java API 中文文档

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

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

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

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

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

    Head First Java 中文高清版pdf

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

    java调用activex控件

    - **C++代码分析**:在`MyWindow.cpp`文件中,我们看到了对`jni.h`、`jawt.h`等头文件的引用,这些是Java Native Access(JNA)的核心部分,用于在C/C++中访问Java环境。此外,还包括了Windows API相关的头文件,...

    java实现对图片的各种操作

    java实现对图片裁剪,并把裁剪新图片保存,按倍率缩小、放大图片,重置图形的边长大小,拼接图片等等操作 使用Java进行图像处理的一些基础操作,java实现对图片的各种操作下载

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

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

Global site tag (gtag.js) - Google Analytics