星座:

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多线程拾贝------操作巨人编程

    iOS多线程拾贝------操作巨人编程 多线程 基本 实现方案:pthread - NSThread - GCD - NSOperation Pthread 多平台,可移植 c语言,要程序员管理生命 ...

  2. 自定义文件上传的按钮的样式css+js

    核心就是一段css遮住了原生的input框,然后用js将文件的值传入到另一个指定的input框中 原文链接 http://geniuscarrier.com/how-to-style-a-html-f ...

  3. flash Timer类使用

    var timer:Timer = new Timer(1000); timer.addEventListener("timer",tracerTimer); function t ...

  4. .NET MVC4 ApiController拦截器的使用

    目前在公司新开发了一个项目,第一次正式使用.NET MVC4来搭建,用拦截器来处理权限验证. 自定义拦截器需继承ActionFilterAttribute类,重写OnActionExecuting和O ...

  5. 了解CSS/CSS3原生变量var

    一.变量是个好东西 在任何语言中,变量的有一点作用都是一样的,那就是可以降低维护成本,附带还有更高性能,文件更高压缩率的好处. 随着CSS预编译工具Sass/Less/Stylus的关注和逐渐流行,C ...

  6. mysql之索引

    一.索引是什么? 比如我们要在字典中找某一字,如何才能快速找到呢?那就是通过字典的目录. 对数据库来说,索引的作用就是给‘数据’加目录. 二.索引算法 设有N条随机记录,不用索引,平均查找N/2次,那 ...

  7. ThinkPHP CURD方法盘点:order方法

    order方法属于模型的连贯操作方法之一,用于对操作的结果排序. 用法 $Model->where('status=1')->order('id desc')->limit(5)-& ...

  8. [Bootstrap] 5. Button and well

    Element Identification There are a number of classes in Bootstrap that help add prominence to a page ...

  9. android学习日记23--Android XML解析

    一.简述 XML语言是跨平台,JAVA对XML语言支持得比较好,android系统的应用层平台是JAVA做的,所以用XML.XML解析比较简单.XML解析就是将获取到的数据分离出来,基本的网络数据传输 ...

  10. ABAP 常用系统变量

    SY-ABCDE 常量,A-Z字母表SY-BATCH 后台的程序运行SY-COLNO:当前选定列的列号SY-CPAGE 列表的当前显示页SY-CUCOL 屏幕,PAI 的水平光标位置SY-CUROW: ...