package com.qinghuainvest.tsmarket.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale; public class UtilsDate {
public static final String yyyy_MM_dd_HH_mm_ss = "yyyy-MM-dd HH:mm:ss";
public static final String yyyy_MM_dd = "yyyy-MM-dd";
public static final String yyyyMMdd = "yyyyMMdd";
public static final String yyyyMM = "yyyyMM"; /**
* 将字符串日期格式转化成另一种日期格式
* @param strDate:字符日期
* @param dateFormat:字符日期的格式
* @param pformat:需要格式化后的日期格式
* @return
*/
public static String getStringToString(String strDate,String dateFormat,String pformat){
return getDateToString(getStringToDate(dateFormat, strDate), pformat); } /**
* 系统日期转化成字符串
* @param format
* @return
*/
public static String getSystemDateToString(String format) {
return getDateToString(new Date(), format);
}
/**
* 日期转化成str字符串
* @param date
* @param format
* @return
*/
public static String getDateToString(Date date,String format) {
if( date == null )return null;
SimpleDateFormat siFormat = new SimpleDateFormat(format);
try {
return siFormat.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return null;
} /**
* 系统日期的前n日
* @param dateTime:待处理的日期
* @param n:加减天数
* @return
*/
public static String getSystemDateToYesterday(int n,String format){
try {
return getDateToString(new Date(getSystemDateToDate(format).getTime()- n * 24 * 60 * 60 * 1000), format);
} catch (Exception e) {
e.printStackTrace();
}
return null;
} /**
* 系统年份
* @param format
* @return
*/
public static int getYear(String format){
return getYear(format, new Date()); }
/**
* 读取日期中的年份
* @param format
* @param date
* @return
*/
public static int getYear(String format,Date date){
try {
return Integer.parseInt(new SimpleDateFormat(format).format(date));
} catch (Exception e) {
e.printStackTrace();
}
return 0;
} /**
* 读取系统日期
* @param format
* @return
*/
public static Date getSystemDateToDate(String format) {
return getStringToDate(format, new SimpleDateFormat(format).format(new Date()));
} /**
* 字符串日期转化成日期对象Date
* @param format
* @param date
* @param locale
* @return
*/
public static Date getStringToDate(String format,String date,Locale locale) {
try {
return new SimpleDateFormat(format,locale).parse(date);
} catch (ParseException ex) {
ex.printStackTrace();
}
return null;
} /**
* 字符串日期转化成日期对象Date(本地日期对象)
* @param format
* @param date
* @return
*/
public static Date getStringToDate(String format,String date) {
return getStringToDate(format, date, Locale.CHINA);
} /**
* 比较两个日期是否相等
* @param date1
* @param date2
* @return
*/
public static boolean isEquals(Date date1,Date date2){
return isEqualsYYYYMMDD(getDateToString(date1,yyyy_MM_dd_HH_mm_ss), getDateToString(date2,yyyy_MM_dd_HH_mm_ss));
} /**
* 当前日期是否与系统日期相等
* @param date
* @param systemformat
* @return
*/
public static boolean isEqualsYYYYMMDDToday(String date,String systemformat){
return isEqualsYYYYMMDD(date,getSystemDateToString(systemformat));
} /**
* 当前日期是否与系统日期相等
* @param date
* @return
*/
public static boolean isEqualsYYYYMMDDToday(Date date){
return isEqualsYYYYMMDD(date,new Date());
} /**
* 比较两个日期是否相等
* @param date1
* @param date2
* @return
*/
public static boolean isEqualsYYYYMMDD(Date date1,Date date2){
return isEqualsYYYYMMDD(getDateToString(date1,yyyy_MM_dd), getDateToString(date2,yyyy_MM_dd));
} /**
* 比较两个日期字符串是否相等,需要确定两个日期的字符格式
* @param str1
* @param str1Format
* @param str2
* @param str2Format
* @return
*/
public static boolean isEqualsYYYYMMDD(String str1,String str1Format,String str2,String str2Format){
return isEqualsYYYYMMDD(getStringToString(str1, str1Format, yyyy_MM_dd), getStringToString(str2, str2Format, yyyy_MM_dd));
} /**
* 比较两个日期字符串是否相等,需要确定两个日期的字符格式
* @param str1
* @param str2
* @return
*/
public static boolean isEqualsYYYYMMDD(String str1,String str2){
if( str1== null ){
if( str2 == null )return true;
return false;
}
return str1.equals(str2);
} /**
* 比较日期大小
* @param date1
* @param date2
* @return true:date1大于/等于data2;false:date1小于data2
*/
public static boolean isMoreSize(Date date1,Date date2) {
if( date1 == null ) return false;
if(!date1.before(date2))
return true;
return false;
} public static void main(String[] args) { Date date1 = UtilsDate.getStringToDate(UtilsDate.yyyy_MM_dd,"2015-01-29");
Date date2 = UtilsDate.getSystemDateToDate(UtilsDate.yyyy_MM_dd);
if( !UtilsDate.isMoreSize(date1, date2)) {//今天之前的,则移除
System.out.println("data1小于且不等于date2移除");
} System.out.println("比较日期大小:"+getStringToDate(yyyy_MM_dd,"2015-04-29"));
System.out.println("当前系统日期:"+getSystemDateToString(yyyy_MM_dd_HH_mm_ss)); System.out.println("今年"+getYear("yyyy")); System.out.println("系统日期的前一天:"+getSystemDateToYesterday(1, yyyy_MM_dd));
} }

获取上个月:

 Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
String time = format.format(c.getTime());
//得到一个月最后一天日期(31/30/29/28)
int MaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);
//按你的要求设置时间
c.set( c.get(Calendar.YEAR), c.get(Calendar.MONTH), MaxDay, 23, 59, 59);
//按格式输出
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String gtime = sdf.format(c.getTime()); //上月最后一天 /**
* 获取本日日期
* @return
*/
public static String getToDay(){
Calendar c = Calendar.getInstance();
String time = getTime(c);
System.out.println(time);
return time;
} /**
* 获取本周一日期
* @return
*/
public static String getWeekA(){
Calendar cal =Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
// System.out.println(cal.getTime());
String time = getTime(cal)+" 00:00:00";
System.out.println(time);
return time;
} /**
* 获取本周日日期
* @return
*/
public static String getWeekB(){
Calendar cal =Calendar.getInstance();
// System.out.println(cal.getTime());
//这种输出的是上个星期周日的日期,因为老外那边把周日当成第一天
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
// System.out.println(cal.getTime()); //增加一个星期,才是我们中国人理解的本周日的日期
cal.add(Calendar.WEEK_OF_YEAR, 1);
// System.out.println(cal.getTime()); //本周日
String time = getTime(cal)+" 23:59:59";
System.out.println(time);
return time;
} /**
* 获取本月日期
* @return
*/
public static String getMonth(){
Calendar c = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
String time = format.format(c.getTime());
System.out.println(time);
return time;
}

java -日期的更多相关文章

  1. [转]Java日期时间使用总结

    原文地址:http://lavasoft.blog.51cto.com/62575/52975/ 一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中 ...

  2. java日期操作大全

    摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个:  取得指定月份的第一天与取得指定月份的最后一天  http ...

  3. java日期处理总结

    Java日期时间使用总结   一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式 ...

  4. Java日期时间使用总结

    一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题.   在J ...

  5. Java 日期时间

    Java 日期时间 标签 : Java基础 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含 ...

  6. Java日期时间使用(转)

    Java日期时间使用总结 转自:http://lavasoft.blog.51cto.com/62575/52975/   一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个 ...

  7. Java日期的格式String类型GMT,GST换算成日期Date种类

    请尊重他人的劳动成果.转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/articl ...

  8. java日期格式大全 format SimpleDateFormat(转)

    java日期格式大全 format SimpleDateFormat   /**    * 字符串转换为java.util.Date<br>    * 支持格式为 yyyy.MM.dd G ...

  9. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  10. Java日期格式化方法

    首先获取当前系统时间的方法有两种:第一种可以用currentTimeMillis()方法获取,它其实产生的是一个当前的毫秒数,这个毫秒是自1970年1月1日0时起至现在的毫秒数,类型是long 型,可 ...

随机推荐

  1. java-vector hashtable过时?

    vector hashtable过时? 在用JAVA集合时,IDE提示 vector 以及hashtable被arraylist ,hashmap替代,而前者又是线程同步的,不知道为什么?是效率差了的 ...

  2. Sphinx和coreseek检索引擎

    Sphinx是检索英文用,coreseek是检索中文用. Sphinx(斯芬克斯)是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索 ...

  3. struts2配置详解

    01.Struts 2基本结构 使用Struts2框架实现用登录的功能,使用struts2标签和ognl表达式简化了试图的开发,并且利用struts2提供的特性对输入的数据进行验证,以及访问Servl ...

  4. JavaWeb学习总结,文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  5. RecyclerView,CardView导入和使用(Demo)

    简介: 这篇文章是ANDROID L——Material Design详解(UI控件)的一个补充或者说是应用实例,如果有时间建议大家稍微浏览一下上篇文章. 本文主要介绍Android L新增加的两个U ...

  6. HTML 学习笔记(块 和 类)

    HTML <div> 和 <span> 可以通过<div>和<span>将HTML元素组合起来. HTML块元素 大多数HTML元素被定义为块级元素或者 ...

  7. uwp项目总结

  8. Centos5.8下编译安装PHP5.4和memcached, phalcon, yaf, apc

    安装GIT 需要先安装gcc-c++ (sudo yum install gcc-c++)sudo yum install gettext-devel expat-devel cpio perl op ...

  9. some basic graph theoretical measures

    · mean characteristic path length calculated as the average length of the shortest path between two ...

  10. 【转】Sql Server参数化查询之where in和like实现详解

    转载至:http://www.cnblogs.com/lzrabbit/archive/2012/04/22/2465313.html 文章导读 拼SQL实现where in查询 使用CHARINDE ...