现有一个时间字符串05:00:00,我想获得系统时间的当前时刻例如11:54:00,判断当前时刻是否到了05:00:00,请问如何写
------解决方案--------------------
public static void main(String[] args) throws Exception {
String str_0 = "20130505";
String str_1 = "20130506";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date d_0 = sdf.parse(str_0);
Date d_1 = sdf.parse(str_1);
Calendar ca_0 = Calendar.getInstance();
Calendar ca_1 = Calendar.getInstance();
ca_0.setTime(d_0);
ca_1.setTime(d_1);
System.out.println(ca_0.compareTo(ca_1));
}
------解决方案--------------------
改进一下
String time = "05:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(time));
Calendar now = Calendar.getInstance();
cal.set(Calendar.YEAR, now.get(Calendar.YEAR));
cal.set(Calendar.MONTH, now.get(Calendar.MONTH));
cal.set(Calendar.DAY_OF_MONTH, now.get(Calendar.DAY_OF_MONTH));
// Within two minutes
if (now.getTimeInMillis() - cal.getTimeInMillis() < 2 * 60 * 1000) {
System.out.println("Time is up.");
}
------解决方案--------------------
package com.jst.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
public static String formart(Date date, String pattern) {
if (date == null) {
return null;
}
if (StringUtil.isEmpty(pattern)) {
return formart(date);
}
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
return dateFormat.format(date);
}
public static String formart(Date date) {
if (date == null) {
return null;
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return dateFormat.format(date);
}
public static Date parse(String str) throws ParseException {
if (str == null
------解决方案--------------------
str.trim().equals("")) {
return null;
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return dateFormat.parse(str);
}
public static String getNowTime() {
return formart(new Date());
}
public static long millisecondBetween(Date startDate, Date endDate) {
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
endCalendar.setTime(endDate);
setTimeToMidnight(startCalendar);
setTimeToMidnight(endCalendar);
// 获取毫秒
long startMinutes = startCalendar.getTimeInMillis();
// 获取毫秒
long endMinutes = endCalendar.getTimeInMillis();
long intervalMs = endMinutes - startMinutes;
return intervalMs;
}
public static int minutesBetween(Date startDate, Date endDate) {
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
endCalendar.setTime(endDate);
setTimeToMidnight(startCalendar);
setTimeToMidnight(endCalendar);
// 获取毫秒
long startMinutes = startCalendar.getTimeInMillis();
// 获取毫秒
long endMinutes = endCalendar.getTimeInMillis();
long intervalMs = endMinutes - startMinutes;
return millisecondsToMinutes(intervalMs);
}
public static int minutesBetweenByDay(Date startDate, Date endDate) {
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
endCalendar.setTime(endDate);
setTimeToMidnight(startCalendar);
setTimeToMidnight(endCalendar);
// 获取毫秒
long startMinutes = startCalendar.getTimeInMillis();
// 获取毫秒
long endMinutes = endCalendar.getTimeInMillis();
long intervalMs = endMinutes - startMinutes;
return millisecondsToDay(intervalMs);
}
/**
* 毫秒转换为分钟
*
* @param intervalMs
* @return
*/
private static int millisecondsToMinutes(long intervalMs) {
return (int) (intervalMs / (1000 * 60));
}
/**
* 毫秒转换为天
*
* @param intervalMs
* @return
*/
private static int millisecondsToDay(long intervalMs) {