星座:

public static String getStar(Date date)
{
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DAY_OF_MONTH);
String star = "";
if (month == 1 && day >= 20 || month == 2 && day <= 18)
{
star = "水瓶座";
}
if (month == 2 && day >= 19 || month == 3 && day <= 20)
{
star = "双鱼座";
}
if (month == 3 && day >= 21 || month == 4 && day <= 19)
{
star = "白羊座";
}
if (month == 4 && day >= 20 || month == 5 && day <= 20)
{
star = "金牛座";
}
if (month == 5 && day >= 21 || month == 6 && day <= 21)
{
star = "双子座";
}
if (month == 6 && day >= 22 || month == 7 && day <= 22)
{
star = "巨蟹座";
}
if (month == 7 && day >= 23 || month == 8 && day <= 22)
{
star = "狮子座";
}
if (month == 8 && day >= 23 || month == 9 && day <= 22)
{
star = "处女座";
}
if (month == 9 && day >= 23 || month == 10 && day <= 22)
{
star = "天秤座";
}
if (month == 10 && day >= 23 || month == 11 && day <= 21)
{
star = "天蝎座";
}
if (month == 11 && day >= 22 || month == 12 && day <= 21)
{
star = "射手座";
}
if (month == 12 && day >= 22 || month == 1 && day <= 19)
{
star = "摩羯座";
}
return star;
}

年龄:

public static int getAge(Date birthday)
{
Date date = new Date();
long day = (date.getTime() - birthday.getTime()) / (24 * 60 * 60 * 1000) + 1;
int age = (int)(day / 365);
if(age<=0){
age=1;
}
return age;
}

判断时间是否是现在之前:

public static boolean isTimeBefore(Date date)
{
Calendar calDateA = Calendar.getInstance();
calDateA.setTime(date);
Calendar calDateB = Calendar.getInstance();
calDateB.setTime(new Date());
if (calDateA.get(Calendar.HOUR) > calDateB.get(Calendar.HOUR))
return true;
if (calDateA.get(Calendar.HOUR) == calDateB.get(Calendar.HOUR))
{
if (calDateA.get(Calendar.MINUTE) > calDateB.get(Calendar.MINUTE))
return true;
if (calDateA.get(Calendar.MINUTE) == calDateB.get(Calendar.MINUTE))
if (calDateA.get(Calendar.SECOND) > calDateB.get(Calendar.SECOND))
return true;
if (calDateA.get(Calendar.SECOND) == calDateB.get(Calendar.SECOND))
if (calDateA.get(Calendar.MILLISECOND) > calDateB.get(Calendar.MILLISECOND))
return true;
}
return false;
}

是否是今天:

public static boolean isToday(Date timestamp)
{
Calendar calDateA = Calendar.getInstance();
calDateA.setTime(timestamp);
Calendar calDateB = Calendar.getInstance();
calDateB.setTime(new Date());
return calDateA.get(Calendar.YEAR) == calDateB.get(Calendar.YEAR) && calDateA.get(Calendar.MONTH) == calDateB.get(Calendar.MONTH)
&& calDateA.get(Calendar.DAY_OF_MONTH) == calDateB.get(Calendar.DAY_OF_MONTH);
}

是否是这个月:

public static boolean isThisMonth(Date d1)
{
Date d2 = new Date();
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(d1);
cal2.setTime(d2);
int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
if (subYear == 0)
{
if (cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH))
return true;
}
return false;
}

是否是这周:

public static boolean isThisWeek(Date d1)
{
Date d2 = new Date();
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(d1);
cal2.setTime(d2);
int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
if (subYear == 0)
{
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
else if (subYear == 1 && cal2.get(Calendar.MONTH) == 11)
{
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
else if (subYear == -1 && cal1.get(Calendar.MONTH) == 11)
{
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
return false;
}

计算时间过去多久:

public static String getFormDate(Date date)
{
Calendar nowCal = Calendar.getInstance();
nowCal.setTime(new Date());
Calendar dateCal = Calendar.getInstance();
dateCal.setTime(date);
if (nowCal.get(Calendar.YEAR) != dateCal.get(Calendar.YEAR))
{
SimpleDateFormat df = new SimpleDateFormat("yy-MM-dd");
return df.format(date);
}
int nowDay = nowCal.get(Calendar.DAY_OF_YEAR);
int dateDay = dateCal.get(Calendar.DAY_OF_YEAR);
if (nowDay != dateDay)
{
int days = nowDay - dateDay;
String str = null;
switch (days)
{
case 1:
str = "昨天";
break;
case 2:
str = "前天";
break;
case 3:
str = "3天前";
break;
case 4:
str = "4天前";
break;
case 5:
str = "5天前";
break;
default:
SimpleDateFormat df = new SimpleDateFormat("MM-dd");
str = df.format(date);
break;
}
return str;
}
SimpleDateFormat df = new SimpleDateFormat("HH:mm");
long l = new Date().getTime() - date.getTime();
int hour = new Long(l / (60 * 60 * 1000)).intValue();
String str="";
switch (hour)
{
case 0:
long min = ((l / (60 * 1000)));
if(min>5)
str=min+"分钟前";
else
str="刚刚";
break;
case 1:
str="1小时前";
break;
case 2:
str="2小时前";
break;
case 3:
str="3小时前";
break;
case 4:
str="4小时前";
break;
case 5:
str="5小时前";
break;
default:
str=df.format(date);
break;
}
return str;
}

java星座、年龄、日期等的更多相关文章

  1. 计算机程序的思维逻辑 (95) - Java 8的日期和时间API

    ​本节继续探讨Java 8的新特性,主要是介绍Java 8对日期和时间API的增强,关于日期和时间,我们在之前已经介绍过两节了,32节介绍了Java 1.8以前的日期和时间API,主要的类是Date和 ...

  2. Java编程的逻辑 (95) - Java 8的日期和时间API

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  3. Java Hour 50 日期类型

    Plan List: 1 Java 中的日期类型 2 mysql 相关 3 java code style 鉴于本问题太过普通,所以参考文章满大街都是,因此本文内容基本为转载和验证. java.sql ...

  4. [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  5. JAVA格式化时间日期

    JAVA格式化时间日期 import java.util.Date; import java.text.DateFormat; /** * 格式化时间类 * DateFormat.FULL = 0 * ...

  6. Delphi与Java中的日期互换

    在最近做的一个项目中用到了Java和Delphi,发现它们不能正确读取对方的日期类型,如在Java中写入一个值为“2007-12-1”的日期值,通过Delphi读取却不是这个值了.通过查阅资料,发现两 ...

  7. Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  8. Java 8 时间日期库的20个使用示例

    java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之, ...

  9. Java SimpleDateFormat处理日期与字符串的转换

    1.为什么要使用SimpleDateFormat? 在Java中,如果我们想获取当前时间,一般会使用Date类的无参构造函数,如下所示,我们获取到当前时间并输出: import java.util.D ...

  10. 填坑:Java 中的日期转换

    我们之前讨论过时间,在Java 中有一些方法会出现横线?比如Date 过期方法. 参考文章:知识点:java一些方法会有横线?以Date 过期方法为例 Java中的日期和时间处理方法 Date类(官方 ...

随机推荐

  1. Go: using a pointer to array

    下面的不是指针指向数组,而是指针指向Slice I'm having a little play with google's Go language, and I've run into someth ...

  2. soliworks三维机柜布局(三)绘制电气线路图

    三维机柜布局中的自动布线是根据线路图中的电气连接属性布的.

  3. hdoj 2817 A sequence of numbers【快速幂】

    A sequence of numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  4. hdoj 1878 欧拉回路

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. [Objective-c 基础 - 2.8] category分类/类别/类目

    A.给某个类扩充方法(不改变原来的类) 例如,给类Person加上名为Simon的category,加上一个-study方法 使用()注明 Person+Simon.h @interface Pers ...

  6. 转载Sql 获取数据库所有表及其字段名称,类型,长度

    转载原地址 http://www.cnblogs.com/Fooo/archive/2009/08/27/1554769.html SELECT (case when a.colorder=1 the ...

  7. TCP建立连接的3次握手和关闭连接的4次挥手

    #.3次握手过程状态 第一次握手:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次握手:服务器收到SYN包,必须确认客户的SYN(ack=j+ ...

  8. Cobar 关系型数据的分布式处理系统

    原文地址: http://code.alibabatech.com/wiki/display/cobar/Home;jsessionid=779959E690AE94BBC8079BB8F7D8B24 ...

  9. git克隆远程项目分支到本地对应分支

    最近公司改用git了,研究了一下如何把远程的代码克隆到本地. 1. 配置对应信息 git config --global user.name git config --global user.emai ...

  10. iOS开发——Swift篇&单例的实现

    Swift实现单例模式 Swift实现单例模式 由于Swift语言弱化了struct和class之间的界限,这里我分别给出自己写的两种的单例实现 class版本: class SwiftSinglet ...