package com.wazn.learn.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List; /**
* ͨ����
*
* @author root
*/
public class DateUtil {
private static SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
private static SimpleDateFormat datetime = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
public static Date getNowDate(){
return new Date();
}
// ****************************��ǰʱ�����****************************
/**
* ����� yyyy-MM-dd Ϊ��ʽ�ĵ�ǰʱ���ַ���
*
* @return String
*/
public static String getCurrentTimeByDay() {
String time = date.format(new Date(System.currentTimeMillis()));
return time;
} /**
* ����� yyyy-MM-dd HH:mm:ss Ϊ��ʽ�ĵ�ǰʱ���ַ���
*
* @return String
*/
public static String getCurrentTimeBySecond() {
String time = datetime.format(new Date(System.currentTimeMillis()));
return time;
} /**
* ��ø�����ʽ�ĵ�ǰʱ���ַ���
*
* @param give
* String ������ʱ���ʽ
* @return String
*/
public static String getCurrentTime(String give) {
SimpleDateFormat temp = new SimpleDateFormat(give);
return temp.format(new Date(System.currentTimeMillis()));
} // ****************************Stringת��ΪDate****************************
/**
* ��Stringת����date
*
* @throws ParseException
* */
public static Date pStringToDate(String str, String sfgs)
throws ParseException {
SimpleDateFormat sf = new SimpleDateFormat(sfgs);
return sf.parse(str);
} /**
* ��Stringת����date ��ʽΪyyyy-MM-dd hh:mm:ss
*
* @throws ParseException
* */
public static Date pStringToDate(String str) throws ParseException {
return datetime.parse(str);
} // ****************************Dateת��ΪString****************************
/**
* ת�������ڸ�ʽ���ַ��� ��ʽΪyyyy-MM-dd
*
* @param Object
* @return String
*/
public static String dateFormat(Date o) {
if (o == null) {
return "";
}
return date.format(o);
} /**
* ת����ʱ���ʽ���ַ��� ��ʽΪyyyy-MM-dd hh:mm:ss
*
* @param Date
* @return String
*/
public static String dateTimeFormat(Date o) {
if (o == null) {
return "";
}
return datetime.format(o);
} /**
* ת���ɸ���ʱ���ʽ���ַ���
*
* @param Date
* @param String
* @return String
*/
public static String getDateFormat(Date d, String format) {
return new SimpleDateFormat(format).format(d);
} /**
* ���ڸ�ʽ��(yyyy��MM��dd��)
*
* @param Date
* @return String
* */
public static String fDateCNYR(Date date) {
return getDateFormat(date, "yyyy��MM��dd��");
} /**
* ���ڸ�ʽ��(yyyy��MM��dd�� HH:mm)
*
* @param Date
* @return String
* */
public static String fDateCNYRS(Date date) {
return getDateFormat(date, "yyyy��MM��dd�� HH��");
} /**
* ���ڸ�ʽ��(yyyy��MM��dd�� HH:mm)
*
* @param Date
* @return String
* */
public static String fDateCNYRSF(Date date) {
return getDateFormat(date, "yyyy��MM��dd�� HH:mm");
} /**
* ���ڸ�ʽ��(yyyy��MM��dd�� HH:mm:ss)
*
* @param Date
* @return String
* */
public static String fDateCNYRSFM(Date date) {
return getDateFormat(date, "yyyy��MM��dd�� HH:mm:ss");
} // ****************************ʱ���ʽ��Stringת��ΪString****************************
/**
* ���ݸ�����ʱ���ʽ�ַ�����ȡ������ʽ���ַ���
*
* @param d
* String ����ʱ���ʽΪyyyy-MM-dd HH:mm:ss
* @param format
* String �����ĸ�ʽ
* @return String
*/
public static String getDateFormat(String d, String format)
throws ParseException {
Date date = datetime.parse(d);
return getDateFormat(date, format);
} // ****************************ʱ���ʽ��Stringת��Ϊlong****************************
/**
* ͨ���ַ������long��ʱ��
*
* @param String
* @return long
*/
public static long getDateFromStr(String dateStr) {
long temp = 0L;
Date date = null;
try {
date = datetime.parse(dateStr);
} catch (Exception e) {
e.printStackTrace();
return temp;
}
temp = date.getTime();
return temp;
} // ****************************Dateת��Ϊ������ʽ��Date****************************
/**
* ���ڸ�ʽ����2014-03-04��
*
* @param Date
* @return Date
* @throws ParseException
* */
public static Date fDate(Date dat) throws ParseException {
String dateStr = date.format(dat);
return date.parse(dateStr);
} /**
* ͨ����ʼʱ��ͼ����ý���ʱ�䡣
*
* @param String
* @param int
* @return String
*/
public static String getEndTime(String start, int span) {
if (isNullOrNone(start) || span == 0) {
return null;
}
long temp = getDateFromStr(start);
temp += span * 60L * 1000L;
return datetime.format(new Date(temp));
} /**
* ��ʽ���ַ�������2013-10-20 00:00:00.000000��Ϊ2013-10-20 00:00:00
*
* @param String
* str
* @return String
* @throws ParseException
* */
public static String getFormatStringDay(String str) throws ParseException {
Date date = datetime.parse(str);
return datetime.format(date);
} /**
* �ж��Ƿ�Ϊ��
*
* @param String
* @return boolean
*/
public static boolean isNullOrNone(String src) {
if (null == src || "".equals(src)) {
return true;
}
return false;
} /**
* ����ַ������ȴ���25���ȡǰ25���ַ��������ij�ʡ�Ժ�
*
* @param String
* @return String
*/
public static String showCount(String str) {
if (str != null) {
if (str.length() > 25) {
str = str.substring(0, 25);
str = str + "...";
}
} else {
str = "";
}
return str;
} /**
* �Ƿ�������ڸ�ʽyyyy-MM-dd
*
* @param day
* String �����ַ���
* @return boolean
*/
public static boolean isFormatDay(String day) {
return day
.matches("(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)");
} /**
* �Ƿ����ʱ���ʽHH:mm:ss
*
* @param time
* String ʱ���ַ���
* @return boolean
*/
public static boolean isFormatTime(String time) {
return time
.matches("(0[1-9]|1[0-9]|2[0-4]):(0[1-9]|[1-5][0-9]):(0[1-9]|[1-5][0-9])(\\.000000)?");
} /**
* �Ƿ����ʱ���ʽyyyy-MM-dd HH:mm:ss
*
* @param time
* String ʱ���ַ���
* @return boolean
*/
public static boolean isFormat(String time) {
String[] temp = time.split(" ");
return isFormatDay(temp[0]) && isFormatTime(temp[1]);
} /**
* ͨ���������ꡢ�¡��ܻ�ø����ڵ�ÿһ������
*
* @param year
* int ��
* @param month
* int ��
* @param week
* int ��
* @return List<Date> ���������
*/
public static List<Date> getDayByWeek(int year, int month, int week) {
List<Date> list = new ArrayList<Date>();
// �ȹ���������.
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
// ��������:
c.set(Calendar.MONTH, month - 1);
// ��������:
c.set(Calendar.WEEK_OF_MONTH, week);
// �õ����ܵ�һ��:
for (int i = 0; i < 6; i++) {
c.set(Calendar.DAY_OF_WEEK, i + 2);
list.add(c.getTime());
}
// ���һ��:
c.set(Calendar.WEEK_OF_MONTH, week + 1);
c.set(Calendar.DAY_OF_WEEK, 1);
list.add(c.getTime());
return list;
} /**
* ��õ�ǰ�����DZ��µĵڼ���
*
* @return int
*/
public static int getCurWeekNoOfMonth() {
Date date = new Date(System.currentTimeMillis());
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);
} /**
* ��õ�ǰ���������ڼ�
*
* @return int
*/
public static int getCurWeekNo(String dat) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.parse(dat);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_WEEK);
} /**
* ��õ�ǰ�����
*
* @return
*/
public static int getCurrentYear() {
Calendar calendar = Calendar.getInstance();
return calendar.get(Calendar.YEAR);
} /**
* ��õ�ǰ���·�
*
* @return
*/
public static int getCurrentMonth() {
Calendar calendar = Calendar.getInstance();
return calendar.get(Calendar.MONTH) + 1;
} /**
* ��õ�ǰ��������
*
* @return
*/
public static int getCurrentDay() {
Calendar calendar = Calendar.getInstance();
return calendar.get(Calendar.DATE);
}
/**
* ��ȡ�������һ��
*
* @param Date date
* @param String format
* @return String
* */
public static String lastDayOfMoth(Date date, String format){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.DAY_OF_MONTH,1);
cal.add(Calendar.MONTH,1);
cal.add(Calendar.DATE, -1);
date = cal.getTime();;
SimpleDateFormat sf = new SimpleDateFormat(format);
return sf.format(date);
}
/**
* ��ȡ�������һ��
*
* @param Date date
* @param String format
* @return String
* */
public static String firstDayOfMoth(Date date, String format){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 0);
date = cal.getTime();;
SimpleDateFormat sf = new SimpleDateFormat(format);
return sf.format(date);
}
//****************************************************************
/**
* ת�����ַ������������������Integer��ʽ�ķ���0�������Double��ʽ�ķ���0.0
*
* @param Object
* @return String
*/
public static String toString(Object o) {
if (o == null) {
if (o instanceof Integer) {
return "0";
}
if (o instanceof Double) {
return "0.0";
}
return "";
} else {
return o.toString();
}
} /**
* ����ַ��������Ϊ������ת����null
*
* @param String
* @return String
*/
public static String emptyString2Null(String src) {
if (src != null) {
if ("".equals(src)) {
src = null;
}
}
return src;
}
/**
* ת���ɿ���hql��ʹ�õ��ַ���
* 1,2 תΪ '1','2'
* */
public static String formatIds(String ids){
if(ids!=null&&ids!="")
{
String[] id = ids.split(",");
StringBuffer idsStr = new StringBuffer();
for(String str : id){
idsStr.append("'"+str+"',");
}
return idsStr.toString().substring(0,idsStr.length()-1);
}
else
{
return "";
}
}
/**
* ��ȡ��ǰ����ǰһ��
*
* @param Date date
* @return Date
* */
public static Date getSpecifiedDayBefore(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, day-1);
date = c.getTime();
return date;
}
/**
* �Ƚ��������ڵĴ�С
*
* @param data1
* @param data2
*
* @return boolean
*
* @author zhangss 2016-5-18 13:47:16
* */
public boolean bjDate(Date date1, Date date2){
if (date1.getTime() > date2.getTime()) {
return true;
}
return false;
}
}

Java常用工具类之时间转换(注释乱码,全)的更多相关文章

  1. Java常用工具类之时间转换

    import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; ...

  2. JavaEE-实验一 Java常用工具类编程

    该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1.  使用类String类的分割split 将字符串  “Solutions to selected exercises ca ...

  3. Java常用工具类---XML工具类、数据验证工具类

    package com.jarvis.base.util; import java.io.File;import java.io.FileWriter;import java.io.IOExcepti ...

  4. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  5. 项目经验分享——Java常用工具类集合 转

    http://blog.csdn.net/xyw591238/article/details/51678525 写在前面     本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...

  6. JAVA常用工具类汇总

    一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...

  7. Java常用工具类---IP工具类、File文件工具类

    package com.jarvis.base.util; import java.io.IOException;import java.io.InputStreamReader;import jav ...

  8. java常用工具类(java技术交流群57388149)

    package com.itjh.javaUtil;   import java.util.ArrayList; import java.util.List;   /** * * String工具类. ...

  9. Java常用工具类题库

    一.    填空题 在Java中每个Java基本类型在java.lang包中都在一个相应的包装类,把基本类型数据转换为对象,其中包装类Integer是___Number__的直接子类. 包装类Inte ...

随机推荐

  1. Linux下打包压缩war和解压war包 zip和jar

    ============jar================= 把当前目录下的所有文件打包成game.warjar -cvfM0 game.war ./ -c   创建war包-v   显示过程信息 ...

  2. Python学习笔记(四十一)— 内置模块(10)urllib

    摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432688314 ...

  3. 【BZOJ】1572: [Usaco2009 Open]工作安排Job

    [题意]给定n项工作的截止时间和价值,每项工作需要1单位时间完成,求最大价值.n<=10^5. [算法]贪心+堆 [题解] 如果是访问到x时将d[x]前的点从价值最大的能加就加是错误的贪心,因为 ...

  4. 【leetcode 简单】第三题 回文数

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  5. docker-It's possible that too few managers are online. Make sure more than half of the managers are online.

    问题:docker ---- It's possible that too few managers are online. Make sure more than half of the manag ...

  6. .NET Framework 4安装失败

    #刚装系统遇到之前所遇到的问题.之前因为这个事情还被困扰了好一阵子.特此写出来分享给大家. 环境:WIN10 企业版 在使用一些需要较高.net版本的时候无法更新.你可以试一下.在服务里面开启再更新. ...

  7. STL hashtable阅读记录

    unordered_map,unordered_set等相关内容总结: unordered_map和unordered_set是在开发过程中常见的stl数据结构.其本质是hashtable.在SGI_ ...

  8. 如何在Linux下用C/C++语言操作数据库sqlite3(很不错!设计编译链接等很多问题!)

    from : http://blog.chinaunix.NET/uid-21556133-id-118208.html 安装Sqlite3: 从www.sqlite.org上下载Sqlite3.2. ...

  9. 关于select联动的两种做法

    第一种方法: function dong(){      var getSheng = document.getElementById("sheng");      var get ...

  10. [ python ] 练习作业 - 3

    1. 写出Python查找一个变量的顺序 提示:4中作用域的顺序 本地作用域(local) --> 当前作用域被嵌入的本地作用域(enclsing locals) --> 全局/模块作用域 ...