/**

* 判断是否为闰年

* @param year

* @return

*/

public boolean isLeap ( int year )

{

if ( (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) )

return true;

else

return false;

}

/**

* 判断某年某月总天数

* @param year

* @param month

* @return

*/

public int getDays ( int year , int month )     {

int tianshu = 0;

switch (month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

tianshu = 31;

break;

case 4:

case 6:

case 9:

case 11:

tianshu = 30;

break;

case 2:

if ( isLeap(year) == true )

{

tianshu = 29;

}

else

{

tianshu = 28;

}

break;

}

return tianshu;

}

/**

* 在某Date()日期上增加几天或几个月

* @return 新的日期

*/

public static String changeDate(String str, int n) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

Calendar cd = Calendar.getInstance();

cd.setTime(sdf.parse(str));

cd.add(Calendar.DATE, n); // 在审批基础上增加一天

// cd.add(Calendar.MONTH, n);//增加一个月

return sdf.format(cd.getTime());

} catch (Exception e) {

Global.getInstance().LogError(e);

return str;

}

}

//两个Date()相加减

public static void main(String[] args) {

try {

SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd");

Date begin=dfs.parse("1992-08-10");

Date end =  new Date();

long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒

long day1=between/(24*3600);       //几天

long hour1=between%(24*3600)/3600; //零几小时

long minute1=between%3600/60;      //零几分钟

long second1=between%60/60;        //零几秒钟

} catch (ParseException e) {

e.printStackTrace();

}

}

//输入某人生日计算实际年龄

public static int getAge(String date) {

try {

SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd");

Date begin = dfs.parse(date);

int month = begin.getMonth() + 1;

int day = begin.getDate();

Date end = new Date();

long between = (end.getTime() - begin.getTime()) / 1000;

long day1 = between / (24 * 3600);

int age = (int) (day1 / 365);

long nmonth = end.getMonth() + 1;

long nday = end.getDate();

if (nmonth < month || (nmonth == month && day < nday)) {

age--;

}

return age;

} catch (Exception e) {

e.printStackTrace();

return 0;

}

}

转成这样时间格式:二〇一四年九月二十一日

this.getCurrentDate = function() {
var today = new Date();
var chinese = ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
var y = today.getFullYear().toString();
var m = (today.getMonth() + 1).toString();
var d = today.getDate().toString();
var result = "";
for (var i = 0; i < y.length; i++) {
result += chinese[y.charAt(i)];
}
result += "年";
if (m.length == 2) {
if (m.charAt(0) == "1") {
result += ("十" + chinese[m.charAt(1)] + "月");
}
} else {
result += (chinese[m.charAt(0)] + "月");
}
if (d.length == 2) {
result += (chinese[d.charAt(0)] + "十" + chinese[d.charAt(1)] + "日");
} else {
result += (chinese[d.charAt(0)] + "日");
}
return result;
};

Date()日期转换和简单计算的更多相关文章

  1. Struts2中Date日期转换的问题

      今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforC ...

  2. Shell-匹配行及date日期转换

    #将指定字符串转化为从1970年1月1日到现在的秒数. date -d '20170506' "+%s" #将1970年1月1日到现在累计的秒数转化为日期 date -d @149 ...

  3. 日期转换工具类 CommUtil.java

    package com.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.ut ...

  4. js中转换Date日期格式

    在javascript中直接输出Date得到的结果是这样的: function date(){ var date = new Date(); alert(date); } 结果是:Mon Jun 15 ...

  5. 日期转换时Safari中返回Invalid Date

    问题: 进行日期转换时,Safari中会返回Invalid Date, 而IE 9, Firefox, Chrome and Opera显示正常,代码如下所示: var d = new Date(&q ...

  6. SpringMVC解决@ResponseBody返回Json的Date日期类型的转换问题

    在做项目的时候,发现后台把Date类型的属性以json字符串的形式返回,前台拿不到转换后的日期格式,始终响应回去的都是long类型时间戳. 查阅资料之后找到解决方法: 方法一(在springmvc的x ...

  7. js转换Date日期格式

    有时候做项目会用到js的date日期格式,因为Date()返回的格式不是我们需要的, Date()返回格式: Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间) 而我 ...

  8. 随记MySQL的时间差函数(TIMESTAMPDIFF、DATEDIFF)、日期转换计算函数(date_add、day、date_format、str_to_date)

    时间差函数(TIMESTAMPDIFF.DATEDIFF) 需要用MySQL计算时间差,使用TIMESTAMPDIFF.DATEDIFF,记录一下实验结果 select datediff(now(), ...

  9. java 与日期转换相关的方法(java.util.date类型和java.sql.date类型互相转换)、随机字符串生成方法、UUID生产随机字符串

    package com.oop.util; import java.text.*; import java.util.UUID; import org.junit.Test; /* * 与日期相关的工 ...

随机推荐

  1. java oop第12章_IO、序列化和反序列化

    引言:数据通常通过文件系统保存在外存中,有时需要将他们读取到程序中进行一些操作,Java针对文件系统的操作提供了一套规范,即IO,针对计算机内存而言,输入的称为输入流,输出的称为输出流. 一.     ...

  2. 防HTTP慢速攻击的nginx安全配置

    概述   慢速攻击,是一种ddos攻击的变体版本.通常来说,它通过向服务器发送正常的请求,只不过请求的头或者请求体的内容特别长,发送速度有特别慢,这样每一个连接占用的时间就会变得特别长,攻击者会在短时 ...

  3. 关于synchronized和Lock

    原文链接:关于volatile关键字解析,synchronized和Lock参考 深入浅出,解释的非常清楚,有条理~~~ 以下为转载内容: Java并发编程:volatile关键字解析 volatil ...

  4. leetcood学习笔记-59-螺旋矩阵二

    题目描述: 参考后的提交: class Solution: def generateMatrix(self, n: int): #l = [[0] * n] * n 此创建方法错误 l = [[] f ...

  5. twentytwenty插件,图片对比轮播

    https://zurb.com/playground/twentytwenty 项目应用 http://decortrim.mml.digital/

  6. HAOI 2006 受欢迎的牛 (洛谷2341)

    题目描述 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之间的"喜欢"是可以传递的--如果A喜 欢B,B喜 ...

  7. NX二次开发-time.h获取计算机本地时间

    NX9+VS2012 #include <stdio.h> #include <time.h> char *wday[] = { "Sun", " ...

  8. C++从string中删除所有的某个特定字符【转载】

    转载自https://www.cnblogs.com/7z7chn/p/6341453.html C++中要从string中删除所有某个特定字符, 可用如下代码 str.erase(std::remo ...

  9. 源码安装zabbix-oracle

    源码安装zabbix_agent4.0.3   1.源码包下载地址:https://www.zabbix.com/download_sources 2.下载完后上传在任意目录用root用户创建以下脚本 ...

  10. [JZOJ 5791] 阶乘

    题意:求一个最小的\(m\),保证\(\prod a[i] * x = m!\) 思路: 考虑\(m!\)里面有多少个东西?? \(m\)个. 且是一个排列. 那么求一个最小的\(m\)使得前面的式子 ...