1. java里判断某时间是不是在当天中
JAVA里判断某时间是不是在当天的方法是:
把时间都转换成毫秒数,知道了当天日期,你就可以获取当天0点和第二天零点的毫秒数,打卡时间所对应的毫秒数在这两者之间就可以了。
2. JAVA单机版程序,如何指定在每天凌晨0:00:00执行
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class HandleTimerTask implements ServletContextListener {
private Timer timer = null; //定时器
private static int DOWNlOAD_HOUR = 0; //执行任务开始时间(时)
private static int DOWNlOAD_MINUTE = 0; //执行任务开始时间(分)
private static int DOWNlOAD_SECOND = 0; //执行任务开始时间(秒)
private long delay; //延时时间值(当前系统时间到下载时间之间的时间差毫秒数)
public void contextInitialized(ServletContextEvent event) {
init();//初始化参数
timer = new Timer(true);//创建Timer对象
//定时执行程序
timer.schele(new Handle(event.getServletContext()),delay,24*60*60*1000);//调用Handle()类(即每天要执行的任务),delay表示延迟毫秒数,0,24*60*60*1000表示每隔一天执行一次任务,60*60*1000表示一个小时;
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
}
/**
* 初始化参数
* @return
*/
public void init(){
//声明一个Calendar对象
Calendar cal = Calendar.getInstance();
//设置时间
cal.set(Calendar.HOUR_OF_DAY, DOWNlOAD_HOUR);
cal.set(Calendar.MINUTE, DOWNlOAD_MINUTE);
cal.set(Calendar.SECOND, DOWNlOAD_SECOND);
Date date = new Date();
//获取设定的时间
date = cal.getTime();
//声明当前时间
Date now = new Date();
//获取设定的时间和当前的时间差(毫秒数)
long interval = date.getTime() - now.getTime();
//如果当前时间大于下载时间,则将下载时间设置为下一个下载时间
if (interval < 0) {
cal.add(Calendar.DAY_OF_MONTH, 1);//将天数加1
date = cal.getTime();
//获取设定的时间和当前的时间差(毫秒数)
interval = date.getTime() - now.getTime();
}
this.startTime = date;//初始化开始下载时间
this.delay = interval;//初始化当前时间到下载时间之间的时间差
}
}
public class Handle extends TimerTask {
private ServletContext context = null;
Timer timer = null; //查询任务定时器
public Handle(ServletContext context)
{
this.context = context;
}
/**
* 开始执行
*/
public void run() {
//开始执行
context.log("开始执行!");
}
}
用延迟时间可以实现,添加了一个init()方法用来计算延时数,不管什么时候启动服务,都可以根据当前系统时间和执行任务的开始时间计算出延时时间毫秒数。
虽然没有分,还是希望能帮助你。 ^_^
3. java 分别 取昨天零点 和 二十四点
new date()获取当前系统时间,在设置小时,分钟,秒数位0点的,转化为毫秒数,减去24小时的毫秒数,再转化成时间对象,就是的了,第二个同样
4. java怎么取下一天的零点
//取当前时间的下一日期整点 供参考
SimpleDateFormat format = null;
Date date = null;
Calendar myDate = Calendar.getInstance();
myDate.add(Calendar.DAY_OF_MONTH, 1);
date = myDate.getTime();
format = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
String rtnYes = format.format(date);
System.out.println(rtnYes);
5. 在JAVA中如何判断当前时间是不是整点
System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,用来计算当前毫秒与1970年1月1日之间的毫秒差。
那么我们就可以longtime=System.currentTimeMillis();
然后换算一下小时,发现1小时等于3600s等于3600000ms。
那么我们把这个long类型的time进行一次取余运算。
intmin=time%3600000;
那么只要min的值小于一分钟,即60000ms即可。
if(min<60000)System.out.println("当前时间为整点.");
elseprintln("非整点.");
整体简化代码如下:
if(System.currentTimeMillis()%3600000<60000)System.out.println("当前时间为整点.");
elseprintln("非整点.");
6. java 获取当前时间与零点的时间差
一般情况下不会出现如题所示的问题,既然出现了我们就要想办法解决之。以我的机器为例,我的当前系统时间是北京时间2011-08-31T08:00:00,但是newDate()得到的却是:2011-08-31T00:00:00。表示java得到的时间比当前系统时间提前了8个小时,那么我们就要想办法把java得到的时间向后推迟8个小时。解决的办法是:
1、找到你用的jre文件夹,以本机为例:C:\Program Files\Java\jdk1.5.0\jre
2、在上述文件夹下有个zi文件夹,我们的工作都在这里。
3、zi文件夹下有一个Etc文件夹,我们要做的工作就是从这个文件夹下找到对应的GMT文件替换zi下GMT文件。
4、选择哪个文件呢?如果java获取的时间+N=当前系统时间,就选择GMT-N文件,重命名为GMT,覆盖掉zi下的GMT文件,如果java获取的时间-N=当前系统时间,就选择GMT+N文件,重命名为GMT,覆盖掉zi下的GMT文件。
5、再运行一下你的程序看时间是不是正确了,如果还是不正确,请确认你的jre目录是否选得正确。
7. Java 获取当前时间的小时(24小时制)
使用new Date()获取时间,通过SimpleDateFormat格式化类对Date进行格式话时间。
具体代码如下:注意HH大写代表24小时制。
输出结果:1510416000000,2017-11-12。方便的实现了string转时间的功能。
8. Java取当前时间
tomcat时间跟系统时间不一致的问题解决方法
摘自 -- 黑夜的博客
一,在catalina.bat中
配置如下:
set JAVA_OPTS=%JAVA_OPTS% -Duser.timezone=GMT+08 -Xms256m -Xmx800m
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
-Xms256m -Xmx800m(初始化内存大小为256m,可以使用的最大内存为800m),
-Duser.timezone=GMT+08 //设置为北京时间
二,在eclipse中设置
在 首选项->Tomcat ->JVM Settings 项,设定JRE的版本为'jre1.5.0_06',并且添加如下几个JVM Parameters:
-Xms128m
-Xmx512m
-Dfile.encoding=UTF8
-Duser.timezone=GMT+08
9. java取下一天的零点,求大神帮忙不胜感激!
private Date getTimeOf12() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.add(Calendar.DAY_OF_MONTH, 1);
return cal.getTime();
}
试试 这个
10. 用java编写获取从1970年1月1日0时0分解析为当前的时间这个程序。
new
date(0),这个括号里的0代表的就是自1970年。你定义的就是这个日期。要当前时间还是置空吧。
new
date();