‘壹’ java中如何比较时间(小时/分/秒)的大小
有两个包里有日期的类型,不知道楼主想用哪个?java.util.Date和java.sql.Timestamp两都可以,后面是面对数据库的,before(),after(),equals()就可以比较两个时间之间的关系了!
××××××××××××××××××××××××××××××××××××××××××××
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date nows=new java.util.Date();
java.util.Date date=dateFormat.parse("2005-09-12 12:36:29");
long hous=(nows.getTime()-date.getTime())/(60*60*1000);
转换成long在比较 可以得到日期相差的时间
×××××××××××××××××××××××××××××××××××××××××××××
date1, date2;
long l1=date1.getTime();
long l2=date2.getTime();
if(l1>l2)
{
//说明date1比较新
}
else if(l1 == l2)
{
//说明date1和date2一样
}
else
{
//说明date2比较新
}
×××××××××××××××××××××××××××××××××××××××××
SimpleDateFormat dateFormat=new SimpleDateFormat(sPatten);
String sText = dateFormat.format(dateValue);
得到sText后你爱怎么比就怎么比呀
sPatten =“yyyy” 取年
sPatten =“MM” 取月
sPatten =“dd” 取日
sPatten =“HH” 取小时
sPatten =“mm” 取分
sPatten =“ss” 取秒
××××××××××××××××××××××××××××××××××××××××××
Date date1 = .....
Date date2 = .....
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
int n1 = Calendar.get(Calendar.DATE);
cal.setTime(date2);
int n2= Calendar.get(Calendar.DATE);
if (n1 == n2) {
}
......
‘贰’ 比较两个字符串的时间戳超过五分钟怎么比较呢
比较timestamp1和timestamp2很简单
1
2
3
var timestamp1 = new Date('2014-11-5 21:50:00'), timestamp2 = new Date();
var d = timestamp1.getTime() - timestamp2.getTime();
如果相减大于0,则1比2时间大(晚)
如果相减小于0,则1比2时间小(早)
相减的值除以1000就是2个时间相差的秒数
你的代码出错,可能的原因是timestamp1的date参数没写对
我觉得应该是new Date('2014-11-5 21:50:00');
参数是字符串
timestamp2不需要用valueof吧,我没测试过,反正保证timestamp1和timestamp2是时间类型就行
‘叁’ timestamp 如何比较大小 谢谢
日期加' '
就是:
select * from table1 where Time_stamp>‘ 2001-12-11 11:11:11 ’ ;
‘肆’ java如何比较具体时间
给你点思路吧
比如你要用2008-03-15和今天比较
1、取出两个时间来,如果是从数据库取出,最好使用java.sql.Timestamp格式的时间,现在时间为:Date now = new Date() ;
2、将取出的两个时间进行格式化:使用java.text.SimpleDateFormat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd") ;//将日期格式化为:yyyy-MM-dd
String n = formatter.format(now) ; // 将当前时间进行格式化
3、比较:使用String类型的比较:compareTo // 看API
如:数据库取出的时间如果是String类型的话,直接使用就行
如果取出的时间是Timestamp类型,将其转化成String类型
formatter.format(数据库的timestamp类型).compareTo(n);
以上是基本的一些操作,LZ可以根据自己的需求来改,我的主要的思路就是通过String 类型进行比较
‘伍’ JAVA中两个String类型的时间戳怎么样比较大小
Long.valueOf(String1).compare(Long.valueOf(String2)) > 0
‘陆’ 关于JAVA时间戳
服务器发给客户端一个包含时间戳的凭证,客户端把请求和凭证发给服务器,服务器验证时间戳是否重复和超时,可以防止重复请求和重放攻击
‘柒’ java中 把timstamp类型 传给oracle中比较时间大小
大体就这样
String s = "2011-08-09";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
GregorianCalendar gc = new GregorianCalendar();
try {
gc.setTime(sdf.parse(s));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
gc.add(Calendar.DAY_OF_YEAR, -1);
String startDate = sdf.format(gc.getTime()) + " 00:00:00";
String endDate = sdf.format(gc.getTime()) + " 23:59:59";
Timestamp sd = Timestamp.valueOf(startDate);
Timestamp ed = Timestamp.valueOf(endDate);
System.out.println(sd);
System.out.println(ed);
‘捌’ 问一下java里面timestamp时间类型的怎么比较大小,比如说我想判断我的time是不是在18点以后,该怎么写
先转成 Calendar, 再取其中的 HOUR_OF_DAY 这个域, 看是否大于 18
比如
Timestamp ts = new Timestamp(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();
cal.setTime(ts);
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
两个 Timestamp 本身可以直接比, 它实现了 Comparable 接口的.
‘玖’ java中,关于Timestamp 的格式问题
使用SimpleDateFormat吧
Timestamp 一般不使用!
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化
yyyy - 年
MM - 月
dd - 日
HH - 小时
mm - 分钟
ss - 秒
具体可以去看一下API