当我上传记录时,我的MySQL数据库插入了时间戳,所以输入的内容就像2013-02-02 16:59:29。有没有一种Java方法可以将其转换为类似10天前的东西?
答案 0 :(得分:9)
假设您已将数据库中的日期时间值读入java:
Date date; // read from database
int days = TimeUnit.MILLISECONDS.toDays(
System.currentTimeMillis() - date.getTime());
然后您可以根据自己的喜好对其进行格式化。
答案 1 :(得分:2)
在结果集的帮助下从mysql获取时间并将时间数据传递给下面的方法
public static void main(String[] args) {
long timStampFromMysql = rs.getTimestamp("time");// Fetch time from mysql
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(convertTime(timStampFromMysql , 15));
System.out.println(cal);
}
public static long convertTime(long timeInMillies, int days)
{
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timeInMillies);
calendar.add(Calendar.DAY_OF_YEAR, days);
return calendar.getTimeInMillis();
}
答案 2 :(得分:0)
Joda Time库中的Days.daysBetween
会为您计算。{/ p>
DateTime start = new DateTime(time_ms);
DateTime end = new DateTime(now);
Days days = Days.daysBetween(start, end);
int d = days.getDays();