0 0

优化java获取当前系统时间属于第几周(时间段)0

代码如下:

 

public static void getDayOfWeek() {
		String conMonth = "12" ; //当前的月份
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Calendar c = Calendar.getInstance();
		int year = c.get(Calendar.YEAR);
		long l = c.getTime().getTime();

		int currentWeekOfYear = c.get(Calendar.WEEK_OF_YEAR);
        if (currentWeekOfYear == 1 && c.get(Calendar.MONTH) == 11) {
        	currentWeekOfYear = 53;
        }

        int j = 12;
        for (int i=0; i < currentWeekOfYear; i++) {
			int dayOfWeek = c.get(Calendar.DAY_OF_WEEK) - 2;
			c.add(Calendar.DATE, - dayOfWeek); //得到本周的第一天
			String month = (c.get(Calendar.MONTH) + 1) + "";  //得到月份
			
			String date = sdf.format(c.getTime());
			c.add(Calendar.DATE, 6);  //得到本周的最后一天
			
			long ll = c.getTime().getTime();
			String date2 = sdf.format(c.getTime());
			c.add(Calendar.DATE, -j); //减去增加的日期
			if(month.equals(conMonth)) {
			   if (l > ll) {
					String s = year + "年的第" + (currentWeekOfYear - i) + "周" + "(" + date + "至" + date2 + ")"; 
					System.out.println(s);
			   }
			}
        }
}

 

 1.conMonth即为默认系统时间的月份,如果本地系统时间设置为2012-12-31日以前,运行结果正确如附件。

 

2,当 conMonth的值为1(即2013年1月份),如果本地系统时间设置为[2013-1-1,2013-1-13],运行则无任何结果 ????

 

3,当 conMonth的值为1(即2013年1月份),如果本地系统时间设置为[2013-1-14,......],运行则显示"2013年的第2周(2013-01-07至2013-01-13) .."

直接跳过2013年的第1周,请问改如果优化,???谢谢!!!

 

2012年12月31日 15:56
  • 大小: 17.8 KB

3个答案 按时间排序 按投票排序

0 0

能问下楼主这个问题怎么实现的么,现在我也需要这样一个功能

2013年3月26日 10:22
0 0

你想要做什么

2013年1月04日 13:32
0 0

楼主的代码是想实现什么功能?看的人好累,你的问题出在
    c.add(Calendar.DATE, -dayOfWeek); // 得到本周的第一天
    String month = (c.get(Calendar.MONTH) + 1) + ""; // 得到月份
这两行,你已经改变了c的值,然后再取得month,导致下面的if(month.equals(conMonth))为false。你把这两行改变一下顺序就能得到想要的结果。

    另外,不得不说一下你变量的命名,那个int j = 12; 愣是看了好久才知道什么含义

2012年12月31日 16:49

相关推荐

    根据输入月份获取季度区间

    该代码片段展示了一个名为`DateUtil`的Java类,其中包含一个方法`getQuarterInterval`,用于根据输入的月份范围(起始月和结束月)计算出覆盖该时间段的季度区间。此功能对于财务报告、数据分析等领域非常有用,因为...

    java 获取当前函数名的实现代码

    在这个`CommonFunction`类中,我们定义了几个静态方法来获取当前的文件名、函数名、行号以及时间。具体实现方式是通过抛出一个未捕获的`Exception`对象,然后获取它的堆栈跟踪元素(`StackTraceElement`)。由于堆栈...

    JAVA上百实例源码以及开源项目源代码

    J2ME优化压缩PNG文件 4个目标文件 内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失...

    时间 java js

    例如,你可以使用`LocalDateTime.now()`获取当前日期和时间,或者通过`TemporalAdjusters`进行日期调整,如获取每月的第一天。 JavaScript,作为前端开发的主要语言,其处理时间的方式也相当重要。它内置了`Date`...

    C#实时监控硬件信息

    - CPU占用率:C#内置的System.Diagnostics命名空间提供了Process类和ProcessThread类,可以用来获取当前系统中所有进程的CPU使用情况。 2. **显卡(GPU)信息监控**: - 显卡温度:同样可能需要...

    Java类加载.pdf

    总之,理解Java类加载机制对于优化Java应用性能至关重要,特别是对于Java EE环境下的大规模应用,合理配置和利用类加载器可以显著提升系统运行效率。同时,开发者应该关注Java版本的更新,充分利用新版本提供的性能...

    java计时器

    它通过获取当前系统时间(毫秒级),记录起始时间和结束时间,然后计算两者之间的差值来得到所需时间。 ```java import java.io.PrintStream; final class Timer { private long startTime; private long ...

    java 电子书 Adobe Acrobat Document

    随着时间的发展,Java逐渐成为一种广泛使用的编程语言,并被用于构建企业级应用程序。 - **1.2 编写第一个Java程序** - **1.2.1 下载Java软件开发工具包** - **知识点概述**:介绍了如何下载和安装Java开发工具包...

    Java Thread Dumps 分析

    Java线程转储(Thread Dump)是Java应用程序在特定时间点对所有运行线程的状态快照,它包含每个线程的详细信息,如线程ID、线程名称、线程状态以及栈轨迹。分析Java线程转储对于诊断Java应用程序中的性能问题、死锁...

    Java关于session的详细解释

    // 获取当前用户的Session HttpSession session = request.getSession(); // 设置Session属性 session.setAttribute("username", "JohnDoe"); // 获取Session属性 String username = (String) session....

    操作系统综合性实验报告-进程调度(含代码).doc

    - `GetFirst()` 函数用于获取就绪队列的第一个进程,将其状态设置为执行,并更新队列头部。 - `InsertTime(PCB *in)` 函数将新的进程插入到就绪队列的尾部,这有助于维护队列的顺序。 - `RoundRun()` 函数实现了时间...

    java实用教程

    #### 第一章:Java语言入门 **1.1 Java的诞生** - **背景介绍**:Java是由Sun Microsystems公司于1995年推出的面向对象编程语言。 - **目的**:旨在解决C++语言中存在的问题,如内存管理复杂、安全性低等问题。 - ...

    JAVA架构师知识整理.pdf

    - 针对吞吐量优化的收集器,注重系统的吞吐量,即运行用户代码的时间与垃圾收集时间之比。 - **1.5.4 Serial Old收集器** - 与Serial收集器类似,但工作在老年代。 - **1.5.5 Parallel Old收集器** - 使用多...

    DWR和时间控件

    在这个过程中,时间控件可能需要服务器返回当前系统时间、处理用户提交的时间值等。 5. **响应处理**:服务器处理完成后,结果会被发送回客户端,DWR会自动将结果转换为JavaScript对象,然后前端JavaScript代码可以...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为...

Global site tag (gtag.js) - Google Analytics