`
myrl1023
  • 浏览: 35886 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java--TimeTools

阅读更多

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Title: TimeTools.java Description: Copyright: Copyright (c) 2011 Company:
 * company
 * 
 * @author channing
 * @date 2011-5-25 下午03:13:32
 * @version 1.0
 */
public class TimeTools {
	public final static String defaultFormat = "yyyy-MM-dd HH:mm:ss";

	public enum DateFiled {
		YEAR,
		MONTH,
		DATE,
		HOUR,
		MINUTE
	}

	/**
	 * 
	 * Title: getCurrentTime 
	 * Description: 格式化时间 为String 类型
	 * 
	 * @param format
	 * @return
	 */
	public static String getCurrentTime(String format) {
		SimpleDateFormat fmt = new SimpleDateFormat((format != null && !""
				.equals(format)) ? format : defaultFormat);
		return fmt.format(Calendar.getInstance().getTime());
	}

	/**
	 * 
	 * Title: getCurrentDate 
	 * Description: 得到当前时间
	 * 
	 * @return
	 */
	public static Date getCurrentDate() {
		return Calendar.getInstance().getTime();
	}

	/**
	 * 
	 * Title: getMonthFirstDay 
	 * Description:得到本月的第一天 传入"yyyy-MM-dd"
	 * 
	 * @param format
	 * @return
	 */
	public static String getMonthFirstDay(String format) {
		SimpleDateFormat fmt = new SimpleDateFormat(format);
		Calendar calendar = Calendar.getInstance();
		calendar.set(Calendar.DAY_OF_MONTH, calendar
				.getActualMinimum(Calendar.DAY_OF_MONTH));

		return fmt.format(calendar.getTime());
	}

	/**
	 * 
	 * Title: getCurrentMonthLisatDay 
	 * Description: 当月最后一天
	 * 
	 * @param format
	 * @return
	 */
	public static String getCurrentMonthLisatDay(String format) {
		SimpleDateFormat fmt = new SimpleDateFormat((format != null && !""
				.equals(format)) ? format : defaultFormat);

		Calendar cal = Calendar.getInstance();// 获取当前日期
		cal.set(Calendar.DAY_OF_MONTH, 1);// 设置为1号,当前日期既为本月第一天
		cal.add(Calendar.MONTH, 1);// 月增加1天
		cal.add(Calendar.DAY_OF_MONTH, -1);// 日期倒数一日,既得到本月最后一天
		return fmt.format(cal.getTime());
	}

	/**
	 * 
	 * Title: fmtDate 
	 * Description: 格式化时间 date 格式为 fmt
	 * 
	 * @param date
	 * @param fmt
	 * @return
	 */
	public static String fmtDate(Date date, String fmt) {
		if (date == null)
			return null;
		SimpleDateFormat sdf = new SimpleDateFormat((fmt != null && !""
				.equals(fmt)) ? fmt : defaultFormat);
		return sdf.format(date);
	}

	/**
	 * 
	 * Title: getTime 
	 * Description: 格式化时间 string time 格式为 fmt 返回 date 类型
	 * 
	 * @param time
	 * @param fmt
	 * @return
	 */
	public static Date getTime(String time, String fmt) {
		SimpleDateFormat sdf = new SimpleDateFormat((fmt != null && !""
				.equals(fmt)) ? fmt : defaultFormat);
		try {
			return sdf.parse(time);
		} catch (ParseException e) {
			System.out.println("String to Date Error:" + e.getMessage());
			return null;
		}
	}

	/**
	 * 
	 * Title: modifyDate 
	 * Description: 增加年、月、日
	 * 
	 * @param date
	 * @param amount
	 * @param filed
	 * @return
	 */
	public static Date modifyDate(Date date, int amount, DateFiled filed) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		if (filed == DateFiled.YEAR) {
			c.add(Calendar.YEAR, amount);
		} else if (filed == DateFiled.MONTH) {
			c.add(Calendar.MONTH, amount);
		} else if (filed == DateFiled.DATE) {
			c.add(Calendar.DAY_OF_MONTH, amount);
		} else if (filed == DateFiled.HOUR) {
			c.add(Calendar.HOUR, amount);
		} else if (filed == DateFiled.MINUTE) {
			c.add(Calendar.MINUTE, amount);
		}
		return c.getTime();
	}

	/**
	 * 
	 * Title: getBussinessNoByDate 
	 * Description: bussiness no Date
	 * 
	 * @return
	 */
	public static String getBussinessNoByDate() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmssSS");
		return sdf.format(getCurrentDate());
	}

	/**
	 * 
	 * Title: getfmtDateStr 
	 * Description:
	 * 
	 * @param dateStr
	 * @param dateStrFmt
	 * @param fmt
	 * @return
	 */
	public static String getfmtDateStr(String dateStr, String dateStrFmt,
			String fmt) {

		DateFormat df2 = (null == dateStrFmt) ? new SimpleDateFormat(
				defaultFormat) : new SimpleDateFormat(dateStrFmt);
		try {
			Date date2 = df2.parse(dateStr);
			return fmtDate(date2, fmt);
		} catch (ParseException e) {
			System.out.println("String time  Error:" + e.getMessage());
		}
		return null;
	}

	public static void main(String[] args) {
		String time = TimeTools.getBussinessNoByDate();
		System.out.println(time);
	}
}



分享到:
评论

相关推荐

    java-jdk1.8-jdk-8u151-linux-x64.zip

    - **Date和Time API的改进**:Java 8引入了新的日期和时间API (`java.time`包),替代了过时的`java.util.Date`和`java.util.Calendar`。 - **并发改进**:`ForkJoinPool`和`CompletableFuture`提供了更高效的并发...

    java-common-tools:我的 java-common-tools

    由于项目名为 "java-common-tools-master",我们可以推断这可能是项目的主分支,其中可能包含了项目的源代码、测试文件、README文档以及构建脚本等。在源代码中,每个工具类通常会遵循单一职责原则,即一个类只做一...

    java-jdk1.8-64位

    4. **Java开发工具(JDK Tools)**:这些工具包括jar(打包工具)、javadoc(文档生成工具)、jconsole(JVM监控工具)、jvisualvm(多合一的性能分析工具)等,它们极大地提升了开发者的工作效率。 5. **Java应用...

    Cloud-Native+Applications+in+Java-Packt+Publishing(2018).epub

    For this, they need to be aware of the environment, tools, and resources they're coding against. The book begins by explaining the driving factors for cloud adoption and shows you how cloud ...

    Java: High-Performance Apps with Java 9

    Java: High-Performance Apps with Java 9: Boost your application’s performance with the new features of Java 9 By 作者: Mayur Ramgir – Nick Samoylov ISBN-10 书号: 1789130514 ISBN-13 书号: ...

    jdk-8u191-linux-x64.tar.gz

    - **Date和Time API的改进**:提供了新的`java.time`包,取代了旧的`java.util.Date`和`Calendar`,提供更直观、线程安全的日期时间操作。 - **默认方法**:在接口中可以定义默认实现,避免破坏已有的实现。 - **...

    java环境-jdk8-64位

    4. **新的日期与时间API**:在`java.time`包中,JDK8提供了新的日期和时间API,替代了旧的`java.util.Date`和`java.util.Calendar`,提供了更强大、更易用的日期和时间处理功能。 5. **默认方法**:在接口中添加...

    Mastering Java Machine Learning

    Build high-performing, real-time, adaptive predictive models for batch- and stream-based big data learning using the latest tools and methodologies. Get a deeper understanding of technologies leading ...

    Java8 Linux版本

    - **日期和时间API**:Java 8对日期和时间处理进行了重大改进,引入了`java.time`包,包含`LocalDate`、`LocalTime`、`LocalDateTime`等类,提供了更直观和强大的日期时间操作。 - **默认方法**:在接口中可以定义...

    Test-Driven Java Development

    You'll be guided through setting up tools, frameworks, and the environment you need, and will dive right in to hands-on exercises with the goal of mastering one practice, tool, or framework at a time....

    Test-Driven Java Development - Second Edition.pdf

    day routine.You'll be guided through setting up tools, frameworks, and the environment you need, and we will dive right into hands-on exercises with the goal of mastering one practice, tool, or ...

    Java2核心技术卷I+卷2:基础知识(第8版) 代码

    Using the Command-Line Tools 22 Using an Integrated Development Environment 25 Running a Graphical Application 28 Building and Running Applets 31 Chapter 3: Fundamental Programming Structures ...

    Test-Driven Java Development(PACKT,2015)

    You’ll be guided through setting up tools, frameworks, and the environment you need, and will dive right in to hands-on exercises with the goal of mastering one practice, tool, or framework at a time...

    javajdk源码-java-source:jdk源代码

    10. **日期时间处理**:`java.time`包在Java 8中引入,提供了更现代的日期时间API,源码展示了如何实现复杂的时间计算和格式化。 通过研究`java-source-master`这个压缩包中的源码,Java开发者不仅可以提升自己的...

    jdk-8u281-linux-x64.tar.zip

    3. **新日期时间API**:Java 8引入了`java.time`包,提供了一个更强大、更易用的日期和时间处理API,取代了之前的`java.util.Date`和`java.util.Calendar`。 4. **Stream API**:提供了一种处理集合的新方式,支持...

    java JDK1.8版本下载

    5. **Date和Time API的改进**:JDK1.8重构了日期和时间API,提供了`java.time`包,取代了旧的`java.util.Date`和`java.util.Calendar`。 6. **新的 Nashorn JavaScript引擎**:允许在Java应用中直接执行JavaScript...

    最新Java JDK 8安装版(Linux 32位)

    4. **日期与时间API**:Java 8用新的`java.time`包取代了原有的`java.util.Date`和`java.util.Calendar`,提供了更强大、更直观的日期和时间处理功能。 5. **默认方法**:接口在Java 8中引入了默认方法,允许接口中...

    Java开发工具包

    - **Date和Time API**:全新的java.time包提供了更强大、更易用的时间日期处理功能。 - **默认方法**:在接口中可以定义带有实现的方法,增强了接口的功能性。 6. **使用场景**:JDK广泛应用于企业级应用开发、...

    Android代码-jvm-tools

    Swiss Java Knife (SJK) SJK is a command line tool for JVM diagnostic, troubleshooting and profiling. SJK exploits standard diagnostic ...Monitor Java threads in real time Analyze head dynamics w

Global site tag (gtag.js) - Google Analytics