星座:

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. [iOS基础控件 - 3.5] NSBundle, UIImageView和UIButton的区别, 模拟器和文档

    1.NSBundle1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹2> 利用mainBundle就可以访问软件资源包中的任何资源3> 模拟器应用程序 ...

  2. android 文件上传

    1.java原生上传 拼接上传的字符串 2.HttpClient方式上传 1.导入httpClient jar(core.mime)包 2.设置FileBody.MultiPartEntity.发送请 ...

  3. 7个改变世界的Java项目

    Java的开源生态系统是强大而健康的,这是我们(Oreilly)创建OSCON Java(Open Source Convention Java)的主要原因之一.在过去10年中,一些项目已经被广泛接受 ...

  4. Java foreach操作(遍历)数组

    语法: 我们分别使用 for 和 foreach 语句来遍历数组 运行结果: 练习: import java.util.Arrays; public class HelloWorld { public ...

  5. [Java][Android][Process] 暴力的服务能够解决一切,暴力的方式运行命令行语句

    不管是在Java或者Android中运行命令行语句殊途同归都是创建一个子进程运行调用可运行文件运行命令.类似于Windows中的CMD一样. 此时你有两种方式运行:ProcessBuilder与Run ...

  6. hdu 5465 Clarke and puzzle 二维线段树

    Clarke and puzzle Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...

  7. SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程

    刚刚接触了SpringMVC这个框架,因此有必要把它拿过来同hibernate.Spring框架进行集成和开发一个实例,在真正企业从头开发的项目中往往一个稳定的开发环境至关重要,开发一个项目选择什么样 ...

  8. 使用android x86进行android应用开发.

    首发论坛 安卓巴士.id:android_bin 一.必备工具: 1.虚拟机软件(本文使用virtual Box为例), 2.android x86镜像,下载地址http://www.android- ...

  9. 04---XML编程整理

    一.XML概述       XML(eXtensible Markup Language),可扩展标记语言,       被设计的宗旨是传输数据,而非显示数据       W3C发布的,目前遵循1.0 ...

  10. android学习日记10--裁剪区域

    裁剪区域 裁剪是画布的一个函数,区域可以是矩形和圆形,也可以通过设置 path 或Region来显示自定义区域,通过不同组合,Android几乎可以支持任意现状的裁剪区域.android.graphi ...