项目需求需要拿到当前执行线程的时间,并且得到前后一小时的时间字符串,首先想到了利用 System.currentTimeMillis() ;得到当前时间,然后用Date格式化
由于项目还需要得到前后一小时的字符串,于是自己封装了两个方法便于对时间在当前时间基础上做调整,
package com.xiedong.time;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author 谢栋
* @data 2016年7月25日 下午3:09:21
*/
public class Snippet {
/**
* 获取当前时间
* @return 当前时间
*/
public static String currentTime()
{
Date date=new Date();
DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=format.format(date);
return time;
}
/**
*
* @param data 传入在当前时间基础上增加的数值
* @return 变换之后的数值
*/
public static String addTime(int data)
{
//1、获取当前时间,获取到的时间类型是long类型的,单位是毫秒
long curren = System.currentTimeMillis();
//2、在这个基础上加上data分钟:
curren += data * 60 * 1000;
//3、格式化时间,获取到的就是当前时间data之后的时间
Date da = new Date(curren);
//4、建立时间格式化对象:
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
String time= dateFormat.format(da);
// System.out.println(dateFormat.format(da));
return time;
}
/**
*
* @param data 传入在当前时间基础上减少的数值
* @return 变换之后的数值
*/
public static String decreaseTime(int data)
{
long curren=System.currentTimeMillis();
curren-=data * 60 * 1000;
Date da=new Date(curren);
SimpleDateFormat dataFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=dataFormat.format(da);
return time;
}
}
代码里面有注释,供大家参考