package cn.com.cintel.soss.zabbix.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
public class TimeUtils {
/**
* 获取当前时间
*/
public static String timestampToDate() {
long timeStampSec = System.currentTimeMillis() / 1000;
String timestamp = String.format("%010d", timeStampSec);
return timestamp;
}
/**
* 计算持续时间
*/
public static String continueTime(long time) {
long ss = time; // 共计秒数
int hh = (int) ss / 3600; // 共计小时数
long aa = hh * 3600;
long bb = ss - aa;// 总秒数减去取整后得差值,除以60得到分钟
long cc = bb / 60;// 计算分钟
long dd = cc * 60;
long ff = bb - dd;// 计算秒
return hh + "h" + cc + "m" + ff + "s";
}
/**
* 把十位的时间戳转化为标准格式静态方法
*/
public static String getTime(long s) {
Date myDate = new Date(s * 1000L);
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sDateFormat.format(myDate);
}
/**
* 获取当前时间的十位时间戳
*/
@ResponseBody
@RequestMapping(value = "getNowTime", method = { RequestMethod.GET }, produces = "application/json;charset=utf-8")
public String getNowTime() {
Date d = new Date();
long time = d.getTime();
time = time / 1000L;
String date = "" + time;
return date;
}
/**
* 获取当天0时的时间戳
*/
@ResponseBody
@RequestMapping(value = "getZoneTime", method = { RequestMethod.GET }, produces = "application/json;charset=utf-8")
public String getZoneTime() {
long nowTime = System.currentTimeMillis();
long time = nowTime - (nowTime + TimeZone.getDefault().getRawOffset()) % (1000 * 3600 * 24);
String date = "" + time / 1000L;
return date;
}
}