Date()日期转换和简单计算
/**
* 判断是否为闰年
* @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()日期转换和简单计算的更多相关文章
- Struts2中Date日期转换的问题
今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforC ...
- Shell-匹配行及date日期转换
#将指定字符串转化为从1970年1月1日到现在的秒数. date -d '20170506' "+%s" #将1970年1月1日到现在累计的秒数转化为日期 date -d @149 ...
- 日期转换工具类 CommUtil.java
package com.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.ut ...
- js中转换Date日期格式
在javascript中直接输出Date得到的结果是这样的: function date(){ var date = new Date(); alert(date); } 结果是:Mon Jun 15 ...
- 日期转换时Safari中返回Invalid Date
问题: 进行日期转换时,Safari中会返回Invalid Date, 而IE 9, Firefox, Chrome and Opera显示正常,代码如下所示: var d = new Date(&q ...
- SpringMVC解决@ResponseBody返回Json的Date日期类型的转换问题
在做项目的时候,发现后台把Date类型的属性以json字符串的形式返回,前台拿不到转换后的日期格式,始终响应回去的都是long类型时间戳. 查阅资料之后找到解决方法: 方法一(在springmvc的x ...
- js转换Date日期格式
有时候做项目会用到js的date日期格式,因为Date()返回的格式不是我们需要的, Date()返回格式: Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间) 而我 ...
- 随记MySQL的时间差函数(TIMESTAMPDIFF、DATEDIFF)、日期转换计算函数(date_add、day、date_format、str_to_date)
时间差函数(TIMESTAMPDIFF.DATEDIFF) 需要用MySQL计算时间差,使用TIMESTAMPDIFF.DATEDIFF,记录一下实验结果 select datediff(now(), ...
- java 与日期转换相关的方法(java.util.date类型和java.sql.date类型互相转换)、随机字符串生成方法、UUID生产随机字符串
package com.oop.util; import java.text.*; import java.util.UUID; import org.junit.Test; /* * 与日期相关的工 ...
随机推荐
- win7+ubuntu双系统安装
XP+ubuntu双系统可參考 xp硬盘上安装ubuntu12.04双系统 1.XP安全不再,最终将吾等磨机的人逼上梁山,是时候做一个win7+ubuntu的双系统了. 废话少说,直接进入主题,先腾出 ...
- vue 过滤器filter的详解
1.代码运用的地方 <!-- 在双花括号中 --> {{ date | formatDate}} <!-- 在 `v-bind` 中 --> <div v-bind:id ...
- mysql的索引方法btree和hash的区别
原文链接: http://www.91w.net/database/330.html 1. Hash索引: Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引 ...
- openssl编译方法
受不了了,终于编译成功了openssl,写一下编译方法吧 准备: 0:要编译openssl,必不可少的是代码,去下载 https://www.openssl.org/source/ 1:要有一个VS系 ...
- spring开发案例配合mysql
实体类: package cn.mepu.domain; import java.io.Serializable; /** * 账户实体类 * @author shkstart * @create 2 ...
- oracle中的round()方法的用法
[oracle中的round()方法的用法] Round( ) 函数 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果 oracle一般常用于计算表空间内存还有多少空间 语法 ROUN ...
- Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系?
简单介绍 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架.Spring使你能够编写更干净.更可管理.并且更易于测试的代码. Spring MVC是Spring的一个模块,一 ...
- 【基础】Hint控制语句执行
mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的hint功能.下面介绍一些常用的. ...
- QueryList getData()方法中多次调用来实现递归多级采集。
<?php require 'QueryList/vendor/autoload.php'; use QL\QueryList; //获取每个li里面的h3标签内容,和class为item的元素 ...
- delphi directui 做界面的一个例子
现在很多CS系统或者软件界面都做的非常好看,比如:QQ皮肤,迅雷下载,360杀毒界面等.这些都是运用的流行的DIRECTUI 技术,基本上有的资料都是基于C++的,很少有同仁将C++下的DIRECT ...