package com.mongodb;
import java.io.Serializable;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.TimeZone;
/**
* ****************************************************************
** 文 件 名: DateUtils.java
** Copyright (c) 2007-2011 dhdu@qq.com
** 创 建 人:
** 日 期:
** 修 改 人:
** 日 期: 2011-03-15
** 描 述: date
**
** 版 本:
**
** ==============================================================
**
** 修改记录
**
** 版本号 修改编号 修改者 修改日期 修改说明
** ====== ======== ======== ========== ===========
** 1.0.0 1 XXX 22011-3-15 没改业务,只是修改了注释规范,过期方法没改
**
*******************************************************************
*/
public class DateUtils implements Serializable {
/**
** 函 数 名: getCurrentCnDateWithTimestamp
** 输 入:
** 输 出: Timestamp
** 功能描述: 得到中国时区的当前系统时间
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static Timestamp getCurrentCnDateWithTimestamp(){
Date date=new Date();
SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));
String moditime=fm.format(date);
Timestamp lasttime=Timestamp.valueOf(moditime); //字符型转换为时间型。
return lasttime;
}
/**
** 函 数 名: getCurrentCnDateWithString
** 输 入:
** 输 出: String yyyy-MM-dd HH:mm:ss
** 功能描述: 得到中国时区的当前系统时间
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getCurrentCnDateWithString(){
Date date=new Date();
SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));
String moditime=fm.format(date);
return moditime;
}
/**
** 函 数 名: getCurrentCnDateWithString1
** 输 入:
** 输 出: String yyyy-MM-dd
** 功能描述: 得到中国时区的当前系统时间
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getCurrentCnDateWithString1(){
Date date=new Date();
SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));
String moditime=fm.format(date);
return moditime;
}
/**
** 函 数 名: getCurrentCnDateWithString1
** 输 入: Date
** 输 出: String yyyy-MM-dd
** 功能描述: 得到中国时区的当前系统时间
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getCurrentCnDateWithString1(Date d){
Date date=null;
if(d!=null)
date=d;
else
date=new Date();
SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));
String moditime=fm.format(date);
return moditime;
}
/**
** 函 数 名: getCurrentCnDateWithDate
** 输 入:
** 输 出: Date
** 功能描述: 得到中国时区的当前系统时间
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static Date getCurrentCnDateWithDate(){
Date date=new Date();
SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));
String moditime=fm.format(date);
Timestamp lasttime=Timestamp.valueOf(moditime); //字符型转换为时间型。
return new Date(lasttime.getTime());
}
/**
** 函 数 名: getAfterDateWithDate
** 输 入: date日期,amount数字,type 1:月 2:季度 3:年
** 输 出: Date
** 功能描述: 得到已知日期以后相隔多久的日期
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static Date getAfterDateWithDate(Date date,int amount,int type){
Calendar c=Calendar.getInstance();
c.setTimeInMillis(date.getTime());
if(type==1){
c.add(GregorianCalendar.MONTH, amount);
}else if(type==2){
c.add(GregorianCalendar.MONTH, (amount*3));
}else if(type==3){
c.add(GregorianCalendar.YEAR, amount);
}
return c.getTime();
}
/**
** 函 数 名: getAfterDateWithTimestamp
** 输 入: date日期,amount数字,type 1:月 2:季度 3:年
** 输 出: Timestamp
** 功能描述: 得到已知日期以后相隔多久的日期
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static Timestamp getAfterDateWithTimestamp(Date date,int amount,int type){
Calendar c=Calendar.getInstance();
c.setTimeInMillis(date.getTime());
if(type==1){
c.add(GregorianCalendar.MONTH, amount);
}else if(type==2){
c.add(GregorianCalendar.MONTH, (amount*3));
}else if(type==3){
c.add(GregorianCalendar.YEAR, amount);
}
return new Timestamp(c.getTimeInMillis());
}
/**
** 函 数 名: getDateYY
** 输 入: date日期
** 输 出: String
** 功能描述: 得到当前时间的两位数年份
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getDateYY(Date d)
{
Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
if(d!=null)
c.setTime(d);
String year=String.valueOf(c.get(Calendar.YEAR));
year=year.substring(year.length()-2);
return year;
}
/**
** 函 数 名: getDateYYYY
** 输 入: date日期
** 输 出: String
** 功能描述:得到当前时间的四位数年份
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getDateYYYY(Date d)
{
Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
if(d!=null)
c.setTime(d);
return String.valueOf(c.get(Calendar.YEAR));
}
/**
** 函 数 名: getDateMM
** 输 入: date日期
** 输 出: String
** 功能描述: 得到当前时间的两位数月份
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getDateMM(Date d)
{
Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
if(d!=null)
c.setTime(d);
String month=String.valueOf(c.get(Calendar.MONTH)+1);
if(month.length()==1)
month="0"+month;
return month;
}
/**
** 函 数 名: getDateDD
** 输 入: date日期
** 输 出: String
** 功能描述: 得到当前时间的两位数月份中的第几日
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getDateDD(Date d)
{
Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
if(d!=null)
c.setTime(d);
String day=String.valueOf(c.get(Calendar.DAY_OF_MONTH));
if(day.length()==1)
day="0"+day;
return day;
}
/**
** 函 数 名: getDateQQ
** 输 入: date日期
** 输 出: String
** 功能描述: 得到当前时间的两位数季度
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getDateQQ(Date d)
{
Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
if(d!=null)
c.setTime(d);
String q=String.valueOf(Double.valueOf(Math.ceil((c.get(Calendar.MONTH)+1)/3d)).intValue());
if(q.length()==1)
q="Q"+q;
return q;
}
/**
** 函 数 名: getDateWW
** 输 入: date日期
** 输 出: String
** 功能描述: 得到当前时间的两位数一年中的第几周
** 全局变量:
** 调用模块:
** 作 者: XXX
** 日 期:
** 修 改:
** 日 期:
*/
public static String getDateWW(Date d)
{
Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
if(d!=null)
c.setTime(d);
String w=String.valueOf(c.get(Calendar.WEEK_OF_YEAR));
if(w.length()==1)
w="0"+w;
return w;
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(getDateWW(new Date()));
// System.err.println(getCurrentCnDateWithDate());
// System.err.println(getCurrentCnDateWithString());
// System.err.println(getCurrentCnDateWithTimestamp());
// System.err.println(getCurrentCnDateWithTimestamp().after(getAfterDateWithTimestamp(getCurrentCnDateWithDate(), 1, 1)));
}
}
分享到:
相关推荐
封装了很多有用的方法. 该类库无任何第三方依赖. 涵盖了 字符串操作 时间转化 读取配置文件 等方面. 基础工具类对于java代码的编写是非常必要的,然 而很多常见的操作在很多第三方类库中并未提供,我们必须一遍又一...
invokeMethod.java 同一个类中调用方法示例 invokeOther.java 类的外部调用方法示例 invokeStaticMethod.java 调用静态方法示例 localVariable.java 演示局部变量 localVSmember.java 局部变量与成员变量同名...
java开发中常用的工具类 比如 1:hibernate的配置 工具类复写 2:字符串加密 MD5加密 3:javabean到map的自动映射封装 4:javabean java对象到xml的自动封装 5:各种日期格式的处理 6:json的自动封装处理 7:...
java.util.concurrent 在并发编程中很常用的实用工具类。 java.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类...
在学习Java编程时,熟练掌握常用的Java类和API是至关重要的。以下是关于Java编程基础、面向对象和常用类API知识的练习题资源介绍,旨在帮助您巩固知识、提高编程能力。 目录概览: Java编程基础: 变量与数据类型 ...
java 常用工具源码,多年工作积累,源码分享。...工作中多年积累常用工具,log封装,日期类,多线程操作,字符串处理,邮件发送,http工具类,页面处理,汉字拼音,ftp ,md5, secret,ValidatorStringEx,Xml类。
java.util.concurrent 在并发编程中很常用的实用工具类。 java.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类,...
031106_【第11章:Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记.pdf 031107_〖第11章:Java常用类库〗_实例操作:取得当前日期笔记.pdf 031108_【第11章:Java常用类库】_Math与Random类笔记.pdf...
java.util.concurrent 在并发编程中很常用的实用工具类。 java.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类,...
封装了很多实用的工具类,包括日期操作,字符串操作,读写表格操作,身份证工具获取年龄,生日,地区,性别等,接口请求工具类 加解密算法,签名验证算法 封装发送请求的方等;
Array方法类汇总 304 Java数组与集合小结 305 递归 309 对象的序列化 310 Java两种线程类:Thread和Runnable 315 Java锁小结 321 java.util.concurrent.locks包下常用的类 326 NIO(New IO) 327 volatile详解 337 ...
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
1.4.1 类(Class):Java世界中一类物体 14 1.4.2 方法(Method):物体的功能 15 1.4.3 main()方法:所有Java程序执行的起点 15 .1.5 名词解释 16 1.5.1 JDK和Java平台 16 1.5.2 Java编译器(Java Compiler)...
java.util.concurrent 在并发编程中很常用的实用工具类。 java.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类...
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
学生提问:为什么静态内部类实例方法也不能访问外部类的实例属性呢? 207 学生提问:接口里是否能定义内部接口? 208 6.7.3 使用内部类 208 学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在...
1.4.1 类(Class):Java世界中一类物体 14 1.4.2 方法(Method):物体的功能 15 1.4.3 main()方法:所有Java程序执行的起点 15 .1.5 名词解释 16 1.5.1 JDK和Java平台 16 1.5.2 Java编译器(Java Compiler)...
第3版 机械工业出版社 教学内容和要求 知识点 重要程度 使用频度 难度 Java 入门 高 中 易 变量和运算符 高 高 中 控制结构 高 高 易 数组 高 高 中 方法 很高 高 中 封装 很高 很高 难...
9.4 日期类简介234 9.5 Java语言国际化时间获取与计算238 9.6 Random类和Math类240 9.7 本章习题243 第10章 10.1 异常概述246 10.2 使用try和catch捕获异常..2 50 10.3 使用throw和throws引发异常252 10.4 finally...