java获取当前时间加半小时之后的时间
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取中国的时区
sdf.setTimeZone(timeZoneChina);
String time = sdf.format( now );
Date dt = sdf.parse(time);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.HOUR_OF_DAY,1);//时间减半小时
Date dt1 = rightNow.getTime();
String reStr = sdf.format(dt1);
return reStr;
如何修改?最好能简化一下代码,而且获取系统时间比准确时间少8小时,加了代码TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");才能正常…… 展开
一、步骤如下:
long currentTime = System.currentTimeMillis() + 30 * 60 * 1000;
Date date = new Date(currentTime);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime="";
nowTime= df.format(date);
System.out.println(nowTime);
二、分析:
1、获取当前时间,获取到的时间类型是long类型的,单位是毫秒
2、在这个基础上加上30分钟:currentTime +=30*60*1000;
3、格式化时间,获取到的就是当前时间半个小时之后的时间Date date=new Date(currentTime);
4、建立时间格式化对象:
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
扩展资料
JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。
不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK
另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境
(参考资料 百度百科 Java)
可以用System.currentTimeMillis()方法直接获得当前时间的毫秒数,再往后推算30分钟。码如下:
Long time = System.currentTimeMillis();//获得系统当前时间的毫秒数
System.out.println("获取当前系统时间为:"+new SimpleDateFormat("yyyy年-MM月dd日-HH时mm分ss秒").format(time));//转换成标准年月日的形式
Date date = new Date(time);
time +=30*1000*60;//在当前系统时间的基础上往后加30分钟
System.out.println("三十分钟后的时间为:"+new SimpleDateFormat("yyyy年-MM月dd日-HH时mm分ss秒").format(time));
系统运行结果如下:
扩展资料:
Java获得系统当前时间的四种方法如下:
1、Date day=new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(day));
通过Date类来获取当前时间
2、SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(df.format(System.currentTimeMillis()));
通过System类中的currentTimeMillis方法来获取当前时间
3、Calendar c = Calendar.getInstance();//可以对每个时间域单独修改
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
System.out.println(year + "/" + month + "/" + date + " " +hour + ":" +minute + ":" + second);
通过Calendar类来获取当前时间
4、 Date date = new Date();
String year = String.format("%tY", date);
String month = String.format("%tB", date);
String day = String.format("%te", date);
System.out.println("今天是:"+year+"-"+month+"-"+day);
通过Date类来获取当前时间
参考资料:
Oracle官方API接口-Java™ Platform, Standard Edition 7API Specification
java获取当前时间加半小时之后的时间:
1、获取当前时间,获取到的时间类型是long类型的,单位是毫秒
long currentTime = System.currentTimeMillis() ;
2、在这个基础上加上30分钟:
currentTime +=30*60*1000;
3、格式化时间,获取到的就是当前时间半个小时之后的时间
Date date=new Date(currentTime);
4、建立时间格式化对象:
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
完整代码:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo {
public static void main(String[] args) {
long curren = System.currentTimeMillis();
curren += 30 * 60 * 1000;
Date da = new Date(curren);
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(da));
}
}
不用那么繁杂的操作,下面即可:
Calendar now=Calendar.getInstance();
now.add(Calendar.MINUTE,30);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr=sdf.format(now.getTimeInMillis());
System.out.println(dateStr);
public static void main(String[] args) {
Calendar now=Calendar.getInstance();
now.add(Calendar.MINUTE,30);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String later=sdf.format(now.getTimeInMillis());
System.out.println(later );
}