- 浏览: 608171 次
- 性别:
- 来自: 北京
文章分类
最新评论
今天是周末,再来一道没有答案的题,没事的朋友coding下,放松一下大脑:)
用Java写一个倒计时程序,比如输入一个日期,格式为20090501,可以计算从当前日期开始到20090501有多少个工作日和多少个自然日
难点在计算工作日上
aben6448 写道首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。想的太复杂了,呵呵,我的意思是指刨去星期六和星期天,五一啥的,还是带薪休假的嘛
呵呵,明白,这样只需要去掉周末和五一、十一之类的就可以了~~
首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。
想的太复杂了,呵呵,我的意思是指刨去星期六和星期天,五一啥的,还是带薪休假的嘛
首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。
想的太复杂了吧。。。
用Java写一个倒计时程序,比如输入一个日期,格式为20090501,可以计算从当前日期开始到20090501有多少个工作日和多少个自然日
难点在计算工作日上
评论
10 楼
lcwen08
2010-02-10
严重同意8楼
9 楼
tyra
2009-03-02
很棒,拿区学习学习
8 楼
hfwork
2009-03-02
提供个思路,为什么不先把有多少周算出来,然后算一下剩余的几天呢.效率太低....
7 楼
ccjsjymg
2009-02-27
package util;
import java.util.Calendar;
import java.util.Date;
/**
* @description:倒计时
* 功能:用Java写一个倒计时程序,比如输入一个日期,格式为20090501,
* 可以计算从当前日期开始到20090501有多少个工作日和多少个自然日
*/
public class CountDown {
public static void getNatureDays(){
int i = 0;
int j = 0;
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.MONTH, 4);
c2.set(Calendar.DATE, 1);
for(;c1.before(c2);c1.add(Calendar.DATE, 1)){
int day_week = c1.get(Calendar.DAY_OF_WEEK);
if(day_week == 7 || day_week == 1){
j++;
}
i++;
}
System.out.println("当前距20090501有"+j+"个工作日");
System.out.println("当前距20090501有"+i+"个自然日");
}
public static void main(String[] args) {
getNatureDays();
}
}
import java.util.Calendar;
import java.util.Date;
/**
* @description:倒计时
* 功能:用Java写一个倒计时程序,比如输入一个日期,格式为20090501,
* 可以计算从当前日期开始到20090501有多少个工作日和多少个自然日
*/
public class CountDown {
public static void getNatureDays(){
int i = 0;
int j = 0;
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.MONTH, 4);
c2.set(Calendar.DATE, 1);
for(;c1.before(c2);c1.add(Calendar.DATE, 1)){
int day_week = c1.get(Calendar.DAY_OF_WEEK);
if(day_week == 7 || day_week == 1){
j++;
}
i++;
}
System.out.println("当前距20090501有"+j+"个工作日");
System.out.println("当前距20090501有"+i+"个自然日");
}
public static void main(String[] args) {
getNatureDays();
}
}
6 楼
dumylove
2009-02-27
package net.dbet6; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Test1 { public static void main(String[] args) { String time = "20090510"; int day1 = 0;// 代表自然日 int day2 = 0;// 代表休息日,假定周六周日休息 Calendar ca = Calendar.getInstance(); Calendar now = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); try { Date date = sdf.parse(time); ca.setTime(date); System.out.println(sdf.format(ca.getTime())); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } String ss = sdf.format(ca.getTime()); if (now.before(ca)) { while (!sdf.format(now.getTime()).equals(ss)) {// 原本想使用这个方法ca.compareTo(now)!=0不好使 if (now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || now.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { day2++; } day1++; now.add(Calendar.DAY_OF_YEAR, 1); } } System.out.println("到" + time + "有" + day2 + "休息日"); System.out.println("到" + time + "有" + day1 + "自然日"); } }
5 楼
dumylove
2009-02-27
package net.dbet6;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test1 {
public static void main(String[] args) {
String time = "20090510";
int day1 = 0;// 代表自然日
int day2 = 0;// 代表休息日,假定周六周日休息
Calendar ca = Calendar.getInstance();
Calendar now = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
try {
Date date = sdf.parse(time);
ca.setTime(date);
System.out.println(sdf.format(ca.getTime()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String ss = sdf.format(ca.getTime());
if (now.before(ca)) {
while (!sdf.format(now.getTime()).equals(ss)) {// 原本想使用这个方法ca.compareTo(now)!=0不好使
if (now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
|| now.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
day2++;
}
day1++;
now.add(Calendar.DAY_OF_YEAR, 1);
}
}
System.out.println("到" + time + "有" + day2 + "休息日");
System.out.println("到" + time + "有" + day1 + "自然日");
}
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test1 {
public static void main(String[] args) {
String time = "20090510";
int day1 = 0;// 代表自然日
int day2 = 0;// 代表休息日,假定周六周日休息
Calendar ca = Calendar.getInstance();
Calendar now = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
try {
Date date = sdf.parse(time);
ca.setTime(date);
System.out.println(sdf.format(ca.getTime()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String ss = sdf.format(ca.getTime());
if (now.before(ca)) {
while (!sdf.format(now.getTime()).equals(ss)) {// 原本想使用这个方法ca.compareTo(now)!=0不好使
if (now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
|| now.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
day2++;
}
day1++;
now.add(Calendar.DAY_OF_YEAR, 1);
}
}
System.out.println("到" + time + "有" + day2 + "休息日");
System.out.println("到" + time + "有" + day1 + "自然日");
}
}
4 楼
aben6448
2009-02-27
jythoner 写道
aben6448 写道首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。想的太复杂了,呵呵,我的意思是指刨去星期六和星期天,五一啥的,还是带薪休假的嘛
呵呵,明白,这样只需要去掉周末和五一、十一之类的就可以了~~
3 楼
jythoner
2009-02-27
aben6448 写道
首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。
想的太复杂了,呵呵,我的意思是指刨去星期六和星期天,五一啥的,还是带薪休假的嘛
2 楼
orchid123
2009-02-27
aben6448 写道
首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。
想的太复杂了吧。。。
1 楼
aben6448
2009-02-27
首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。
还在思考ing。。。。
PS:真羡慕可以周六休息的人。。。。
还在思考ing。。。。
PS:真羡慕可以周六休息的人。。。。
发表评论
-
用Java解PythonChallenge(第二天)
2009-08-02 11:49 14323. import java.io.BufferedRea ... -
用Java解PythonChallenge(第一天)
2009-08-01 21:20 2539www.pythonchallenge.com是一个学习pyt ... -
Java每日一题24(最后一题)
2009-03-06 11:10 1659昨天又写了个双色球程序,作为Java每日一题系列的终止符: J ... -
Java每日一题23
2009-03-05 11:23 3247来个数学性强的,c语言书中找到的 有13个人围成一圈,从第一 ... -
Java每日一题22
2009-03-04 09:45 2709开始新一轮的学习吧,今天来个比较有意思的 有一个字符串Stri ... -
Java每日一题21
2009-03-03 10:26 1743也是出自C的,不过都是跟数学相关的,最看重算法 明天开始回归正 ... -
Java每日一题20
2009-03-02 10:56 2400纪念每日一题出到第20期 最近在看Linux下的c开发,所以把 ... -
Java每日一题18
2009-02-26 11:11 2099今天来点新鲜的,来一道我没答案的题 现将TEXT1.TXT中 ... -
Java每日一题17
2009-02-25 11:27 1988编写一个JAVA程序,从输入的一个字符串中提取出数字并组成一个 ... -
Java每日一题16
2009-02-24 11:25 1530最近项目开始了,比较繁忙,所以发题只能等到快到午饭的休息时间, ... -
Java每日一题15
2009-02-23 10:40 2111时间系列的题暂时告一段落,在此期间,这些问题有了很多新的解决方 ... -
Java每日一题14
2009-02-20 11:29 2116热烈庆祝我的blog被选入javaeye论坛的首页滚动栏!!! ... -
Java每日一题13
2009-02-19 11:00 1597编程实现将用户输入的24小时制时间转换为12小时制时间 找到 ... -
Java每日一题12
2009-02-18 12:10 1435如何得到一年的所有星期二的日期? package test2 ... -
Java每日一题11
2009-02-17 10:58 1904根据一个TimeZone的时间,比如一个“Africa/Acc ... -
Java每日一题10
2009-02-16 10:19 2322看到有越来越多的人来参与到我的Java每日一题系列,非常开心: ... -
Java每日一题09
2009-02-13 10:50 1765准备从下星期开始推出”时间处理系列“,”字符串系列“,”打印格 ... -
Java每日一题08
2009-02-12 10:31 2461编写一个辅助小学生学习乘法的程序。使用一个Random对象产生 ... -
Java每日一题07
2009-02-11 11:00 2840通过键盘输入一个字符串,判断字符串中出现最多的字符并输出该字符 ... -
Java每日一题06
2009-02-10 11:18 2074这道题毕业找工作的时候常考 输入一个字符串,按相反顺序输出该字 ...
相关推荐
第一天:语言环境 第二天:常量变量 第三天:流程控制 第四、五天:方法与数组 第六天:类 第七天:对象的出生 第八天:类与类继承 第九天:具体到抽象的升华 第10天:权限内部类包 第11天:API类 第12天:字符串...
在IT领域,特别是Java开发中,获取实时股票信息是一项常见且重要的功能,尤其在金融、投资和数据分析等应用中。本文将深入探讨如何使用Java语言从新浪获取股票信息,包括理解数据格式、解析数据以及利用这些信息进行...
在Java中,`main` 方法是程序的入口点,任何Java应用程序都需要一个 `main` 方法来启动执行。根据给定的部分内容,这里列出了几种不同的 `main` 方法定义方式: - **正确的方式**: ```java public static void ...
- **实训一**:Java开发工具的使用,包括Eclipse的基本操作。 - **实训二**:加深对Java流程控制语句的理解与运用。 - **实训三**:Java面向对象编程的概念与实践。 - **实训四**:数组与字符串的使用技巧。 - ...
该项目是一个以Java为主要编程语言的代码提交学习平台,包含493个文件,其中包含453个Java源代码文件,19个类定义文件,14个IntelliJ IDEA项目配置文件,4个XML配置文件,2个PNG图片文件,以及1个Git忽略文件,旨在...
Java IO(输入输出)是Java编程中至关重要的一个部分,它负责处理程序与外部资源之间的数据传输。在Java中,IO被设计成一种抽象的概念,允许开发者以统一的方式处理各种类型的输入和输出设备,如硬盘、内存、网络...
这篇报告详细记录了一位河北科技大学计算机班学生的Java实习经历,主要在石家庄志诚有限公司进行,时间从2012年11月19日至11月30日。实习的主要目的是深入理解和掌握Java Web开发技术,包括Servlet和JSP,以及相关的...
技术知识点索引,每日一读 2016.09.19 [lvs为何不能完全替代DNS轮询] () 2016.09.18 [20个必不可少的Python库] () [基于Docker的RDS,我们是这样做的] () 2016.09.14 [七年编程,几个故事] () 2016.09.13 [虚拟化...
5.递交网页页面,介绍,有规定自动跳转连接,递交,每日任务规定图,提交审核图,能够 ,进行 付款方式,用支付宝转账,人力审批有取现纪录。 6.顾主任务发布会出现时间限制,请求超时不审批便会全自动审核通过,...
**19. JAVA源文件中是否可以包括多个类** 可以,但公共类只能有一个且需与文件名相同。 **20. 常见的RuntimeException** - `NullPointerException` - `ArrayIndexOutOfBoundsException` - `NumberFormatException...
每日一读 2016.09.18 2016.09.12 2016.09.10 2016.09.07 2016.09.05 2016.09.03 2016.09.02 2016.08.27 2016.08.26 2016.08.25 2016.08.24 2016.08.23 2016.08.21 2016.08.18 2016.08.11 2016.08.10 2016.08.09 2016...
实例223 绘制简单直方图 281 实例224 一元线性回归计算 282 实例225 实数矩阵的运算 283 实例226 复数的常见运算 284 实例227 T分布常用计算 285 10.3 Commons IO组件简介 286 实例228 简化文件(夹)删除 286 实例...
技术知识点索引,每日一读 2016.09.02 2016.09.01 2016.08.31 2016.08.30 2016.08.29 2016.08.26 2016.08.25 2016.08.24 2016.08.23 2016.08.22 2016.08.19 2016.08.18 2016.08.17 2016.08.16 2016.08.15 2016.08.12...
18. JAVA用如何实现每日1亿条记录的数据储存,数据库方面怎么设计? 大规模数据储存可以通过分布式数据库、NoSQL数据库、数据仓库等技术来实现,数据库设计需要考虑性能、可扩展性和安全性等因素。 19. 对应大表...
2020/10/19 版本号: V1.0 代码地址:https://github.com/dubulingbo/shuati.git 1. 每日五题 题目链接 题目名称 难度 解题思路 完成日期 备注 #101 对称二叉树 S #104 二叉树的最大深度 S #107 二叉树的层次遍历II S...
- Java是一种广泛使用的面向对象编程语言,以其平台无关性、安全性、高性能等特点而著称。 - **优点:** - 平台无关性使得开发的应用可以在多种操作系统上运行,提高了系统的可移植性和可维护性。 - 强大的社区...
在Java编程中,`TimerTask` 是一个非常实用的类,用于实现周期性的定时任务。`TimerTask` 是 `java.util.Timer` 类的一个子类,它允许开发者定义一个任务,该任务可以在预定的时间间隔内重复执行。下面我们将深入...