`
k_lb
  • 浏览: 834115 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论
  • kitleer: 据我所知,国内有款ETL调度监控工具TaskCTL,支持ket ...
    kettle调度

JAVA 日期操作类

 
阅读更多
package org.calendardemo;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class CalendarDemo01 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar calendar = new GregorianCalendar();
		System.out.println("年:"+calendar.get(calendar.YEAR));
		System.out.println("月:"+calendar.get(calendar.MONTH));
		System.out.println("日:"+calendar.get(calendar.DAY_OF_MONTH));
		System.out.println("时:"+calendar.get(calendar.HOUR_OF_DAY));
		System.out.println("分:"+calendar.get(calendar.MINUTE));
		System.out.println("秒:"+calendar.get(calendar.SECOND));
		System.out.println("毫秒:"+calendar.get(calendar.MILLISECOND));
		
	}

}


形式一: 2009-02-02

形式二: 2009-03-02 15:12:12.102


package org.calendardemo;

import java.util.Calendar;
import java.util.GregorianCalendar;

class DateFormat{
	private Calendar cal = new GregorianCalendar();
	
	public String getDateTime(){
		StringBuffer buf = new StringBuffer();
		
		return buf.append(cal.get(Calendar.YEAR)).append("-").
		append(addZero(cal.get(Calendar.MONTH)-1,2)).append("-").
		append(addZero(cal.get(Calendar.DAY_OF_MONTH),2)).append(" ").
		append(addZero(cal.get(Calendar.HOUR),2)).append(":").
		append(addZero(cal.get(Calendar.MINUTE),2)).append(":").
		append(addZero(cal.get(Calendar.SECOND),2)).append(".").
		append(cal.get(Calendar.MILLISECOND)).toString();
	}
	
	public String getDate(){
		StringBuffer buf = new StringBuffer();
		
		return buf.append(cal.get(Calendar.YEAR)).append("-").
		append(addZero(cal.get(Calendar.MONTH)-1,2)).append("-").
		append(addZero(cal.get(Calendar.DAY_OF_MONTH),2)).toString();
	}
	
	public String addZero(int temp,int len){
		StringBuffer str = new StringBuffer();
		str.append(temp);
		while (str.length()<len){
			str.insert(0, "0");
		}
		return str.toString();
	}
}

public class CalendarDemo02 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DateFormat df = new DateFormat();
		System.out.println(df.getDate());
		System.out.println(df.getDateTime());
	}
}



DateFormat

在DateFormat 中存在以下的格式化操作:

public final String format(Date date) 接收Date类数据转化成Sting 型数据


取得 DateFormat 类的实例:

public static final DateFormat getDateInstance();根据默认环境取得

public static final DateFormat getDateInstance(int style) 指定显示样式取得

public static final DateFormat getTimeInstance(int style) 取得日期时间

public static final DateFormat getTimeInstance(int dateSytel,int timeStyle)


package org.dateformatdemo;

import java.text.DateFormat;
import java.util.Date;

public class DateFormatDemo01 {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Date date = new Date();
		
		DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);
		DateFormat dft = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
		System.out.println(df.format(date));
		System.out.println(dft.format(date));
		
		
	}

}

SimpleDateFomrat

SimpleDateFormat 本身是DateFormat 的子类,但是其主要功能有两个

取得指定格式的日期及时间

进行日期格工化的转化操作


No 日期 模板 长度 描述
1 y 4 在操作的时候要使用yyyy表示年份
2 M 2 使用MM表示月份
3 d 2 使用dd表示日期
4 H 2 0~23的范围,使用HH表示
5 m 2 Mm表示分
6 s 2 表示秒,ss
7 毫秒 S 3 表示毫秒,SSS

所以,下面就可以利用以上 的格式进行转换操作,格式SimpleDateFormat 实例化的时候使用

构造方法 public SimpleDateFormat(String pattern),指定一个模版


如果要想完成转化功能,则可以使用如下的方法

public Date parse(String source) throws ParseException


package org.dateformatdemo;

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

public class DateFormatDemo01 {
 
	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		String str ="2009-03-03 09:21:35.345";
		
		SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-DD");
		
		Date date = df.parse(str);//提取格式中的日期
		String newstr = df.format(date);//改变格式

		System.out.println(newstr);
		
		
	}

}


修改 Calendar 类


package org.calendardemo;

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

class DateFormat{
	private SimpleDateFormat spd = null;
	
	public String getDate(String date) throws Exception{
		this.spd = new SimpleDateFormat("yyyy-mm-DD");
		Date newdate = this.spd.parse(date);
		return this.spd.format(newdate);
	}
	
	public String getDateTime(String date) throws Exception{
		this.spd = new SimpleDateFormat("yyyy-mm-DD HH:MM:ss");
		Date newdate = this.spd.parse(date);
		return this.spd.format(newdate);
	}
	
}

public class CalendarDemo02 {

	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		String str = "2012-09-08 12:13:14.123";
		System.out.println(new DateFormat().getDate(str));
		System.out.println(new DateFormat().getDateTime(str));
	}
}


分享到:
评论

相关推荐

    java日期操作类

    java日期操作类 操作java日期 替换simplatedateformate

    JAVA日期操作类详细讲解

    本篇内容将深入讲解Java中的日期操作类,这对于Java初学者来说是非常重要的知识点。 首先,我们要了解Java中的基础日期类`java.util.Date`。这个类在早期的Java版本中被广泛使用,但其API设计存在一些问题,例如不...

    java日期类型操作工具类

    java日期类型操作工具类

    java实现的日期操作类

    标题提到的"java实现的日期操作类"通常指的是使用这些类来完成特定的日期计算任务,如获取星期几或计算未来的日期。 `java.util.Date`是Java早期用来表示日期和时间的类,但它的API设计并不理想,易用性较差。因此...

    Java日期操作类常见用法示例

    Java日期操作类常见用法示例 Java日期操作类是Java语言中用于处理日期和时间的类库,主要包括java.time包下的LocalDateTime、LocalDate、LocalTime等类。这些类提供了丰富的方法来处理日期和时间,包括获取当前日期...

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    Java日期操作接口

    本篇文章将详细探讨Java中的日期操作接口,特别是围绕"Java日期操作接口"这个主题,以及与之相关的`DateFilter.java`文件。 首先,Java中最基础的日期类是`java.util.Date`。这个类自Java 1.0起就存在,但它的设计...

    Java DateUtil.java日期时间操作类源代码.rar

    Java DateUtil.java日期时间操作类源代码,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法。比如日期格式转换成时间戳、得到格式化后的系统当前日期、转化日期格式"MM/dd/YY、MM....

    JAVA日期操作汇总

    ### JAVA日期操作汇总 本文将对Java中的日期操作进行详细解析,主要涵盖以下几个方面: 1. 计算某个月份的最大天数; 2. `Calendar`与`Date`之间的转换; 3. 日期格式化; 4. 获取指定日期所在的周序号及设置某...

    java日期操作大全

    以下是对给定内容中涉及的Java日期操作进行的详细说明: 1. **获取指定月份的第一天**: 使用`java.util.Calendar`类可以方便地获取指定日期所在月份的第一天。首先,将输入的日期字符串转换为`java.util.Date`...

    Java操作Excel表格

    以上只是Java操作Excel的基本概念,实际应用中可能还需要处理更多细节,比如日期格式、数字格式、公式计算、图片插入等。同时,为了提高性能,还可以使用 StreamingUserModel API 来处理大型Excel文件,避免内存溢出...

    java日期工具类

    如果你需要进行复杂的日期时间操作,如日期计算、时区转换或格式化,强烈建议使用`java.time`包,因为它提供了更直观、更易用的接口。 总之,Java中的日期工具类从最初的`java.util.Date`到现在的`java.time`包,...

    java 日期帮助类

    在这个Java 日期帮助类中,包含了多达50个实用方法,涵盖了日期和时间的各种操作,旨在简化开发人员的工作,提高代码的可读性和可维护性。这个类可能是由一个经验丰富的j2ee精英团队经过10年的实践和完善提炼出来的...

    java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒

    这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...

    java日期时间操作函数代码

    如果这个文件包含了代码示例,你可以打开查看具体实现,进一步学习和理解Java日期时间操作的细节。 总之,理解和熟练掌握Java的日期时间操作对于开发人员来说至关重要,无论是在处理用户输入、记录日志还是进行复杂...

    java 日期操作工具类

    全面的日期开发工具类,对日期进行各种转换,应用于大部分项目的开发需求。

    操作日期的java包

    Java编程语言在处理日期和时间时,虽然内建了`java.util.Date`和`java.util.Calendar`类,但它们的使用并不总是那么直观和高效。为了解决这个问题,社区开发了Joda-Time库,它提供了更为强大且易用的日期时间操作...

    java日期类函数方法整理

    根据给定的文件信息,...以上就是对Java日期类函数方法的整理和解释,涵盖了基本的日期操作,包括日期的格式化、解析、转换以及年份和月份的获取等。掌握这些函数和方法,能够帮助开发者更高效地处理日期相关的任务。

Global site tag (gtag.js) - Google Analytics