java获取当前时间加半小时之后的时间

代码如下:Datenow=newDate();SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm");Tim... 代码如下:
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");才能正常……
展开
 我来答
lnx的守望
推荐于2019-10-23 · TA获得超过12.5万个赞
知道小有建树答主
回答量:44
采纳率:0%
帮助的人:2.4万
展开全部

一、步骤如下:

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

悦己文化
高粉答主

推荐于2019-11-08 · 人群里也是很寂寞的。
悦己文化
采纳数:690 获赞数:51713

向TA提问 私信TA
展开全部

可以用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

W3cSchool-Java 日期时间方法

菜鸟教程-Java 日期时间




本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活he家
推荐于2017-11-13 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部

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));
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ala400
推荐于2017-12-04 · TA获得超过1229个赞
知道小有建树答主
回答量:262
采纳率:100%
帮助的人:275万
展开全部

不用那么繁杂的操作,下面即可:

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);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
泉凝物497
2017-12-01 · 超过11用户采纳过TA的回答
知道答主
回答量:57
采纳率:38%
帮助的人:10.3万
展开全部
写代码思路不清,搞个date类型变量,没有用上
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 );
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式