java星座、年龄、日期等
星座:
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星座、年龄、日期等的更多相关文章
- 计算机程序的思维逻辑 (95) - Java 8的日期和时间API
本节继续探讨Java 8的新特性,主要是介绍Java 8对日期和时间API的增强,关于日期和时间,我们在之前已经介绍过两节了,32节介绍了Java 1.8以前的日期和时间API,主要的类是Date和 ...
- Java编程的逻辑 (95) - Java 8的日期和时间API
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
- Java Hour 50 日期类型
Plan List: 1 Java 中的日期类型 2 mysql 相关 3 java code style 鉴于本问题太过普通,所以参考文章满大街都是,因此本文内容基本为转载和验证. java.sql ...
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- JAVA格式化时间日期
JAVA格式化时间日期 import java.util.Date; import java.text.DateFormat; /** * 格式化时间类 * DateFormat.FULL = 0 * ...
- Delphi与Java中的日期互换
在最近做的一个项目中用到了Java和Delphi,发现它们不能正确读取对方的日期类型,如在Java中写入一个值为“2007-12-1”的日期值,通过Delphi读取却不是这个值了.通过查阅资料,发现两 ...
- Java中的日期操作
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- Java 8 时间日期库的20个使用示例
java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之, ...
- Java SimpleDateFormat处理日期与字符串的转换
1.为什么要使用SimpleDateFormat? 在Java中,如果我们想获取当前时间,一般会使用Date类的无参构造函数,如下所示,我们获取到当前时间并输出: import java.util.D ...
- 填坑:Java 中的日期转换
我们之前讨论过时间,在Java 中有一些方法会出现横线?比如Date 过期方法. 参考文章:知识点:java一些方法会有横线?以Date 过期方法为例 Java中的日期和时间处理方法 Date类(官方 ...
随机推荐
- Android实例-如何使用系统剪切板(XE8+小米2)
结果: 发现个问题,就是粘贴时会清除之前的信息. unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, S ...
- SQL2008-删除时间字段重复的方法
ID EMAgitation_ID YieldDateTime 1 2 2012-02-11 10:18:54.0002 2 ...
- FreeModbus Slave RTU 精简版源代码【worldsing 笔记】
RTU精简版本 测试环境:IAR for avr 5.40 + M128 目前只优化了ModBusPort.c和ModBusRTU.c ModBusPort.c 566 bytes of CO ...
- oracle 修改索引现有表空间
工作日记之<修改索引现有表空间> //dba_indexes可查询所有索引,以及索引部分信息,可以灵活运用于其他用途 //假设用户USER1现有表空间TS1.TS2,需要迁移其下所有表空间 ...
- IPO
Initial Public Offerings,简称IPO,首次公开募股(Initial Public Offerings,简称IPO):是指一家企业或公司 [1] (股份有限公司)第一次将它的股份 ...
- Android事件分发原理
终于用上了word 2013来写博客,感觉真是老好了,以前在网页上写,老是要把网页拖上拖下的,每次都要吐一升老血啊,现在用上本地的word,瞬间感觉好多了.还有感谢为word写插件的这个大神,代码高亮 ...
- SAP ABAP 处理字符串串串串串串串串(详细)
关于ABAP中处理字符串的方法,非常详细,学习过程中总结一下分享给大家,,, ABAP/4 提供多个处理类型 C 即字符串 的数据对象的关键字. 处理字符串 的方法有: 1.拆分字符串split 2. ...
- Microsoft PetShop 集锦
一.pet shop 2.0 项目概述与架构分析微软刚推出了基于ASP.NET 2.0下的Pet Shop 4, 该版本有了一个全新的用户界面.是研究ASP.NET 2.0的好范例啊 PetShop ...
- <转>使用eclipse编译cocos2d-x示例项目,创建cocos2d-x android项目并部署到真机
准备 今天将cocos2d-x的示例项目tests编译到android真机运行,以及如何创建cocos2d-x的android项目. 打开cocos2d-x的tests项目,路径为:D:\cocos2 ...
- Codeforces Round #325 (Div. 2) A. Alena's Schedule 水题
A. Alena's Schedule Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/586/pr ...