`

Java日期处理

阅读更多

一、简介

 

二、常见的类

java.util.Date;

java.util.Calender

java.util.GregorianCalendar

 

java.text.DateFormat

java.text.SimpleDateFormat

三、常见用法


3.1获取当前时间

获取当前时间有两种办法,通过Calender获取还可以获取日期相关信息,比如当前星期几,一年中第几天等

 

Date currentTime = new Date();
Date currentTime2 = Calender.getInstance().getTime();

 

备注:currentTime.getTime()获取从1970.01.01 00:00:00到当前时间的总毫秒数

calendar.getTime()获取当前date对象

 

3.2按照相应格式打印时间

常用时间格式是SimpleDateFormat,它是DateFormat的子类,DateFormat是一个抽象类,它定义了日期格式化的字段和方法

 

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
Date date = new Date();
sdf.format(date); 

 

具体格式字符代表

具体请看API

 

3.3将字符串转换成时间

 

String time = "2012-10-16";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.parse(time);

 

3.4时间加减

 

Date today = new Date();
long totalMilisecond = today.getTime()-7*24*60*60*1000;
Date sevenDayBefore = new Date(totalMilisecond );

 

3.5时间间隔

 

Date bornDay = new GregorianCalendar(1900,1,1).getTime();
Date today = new Date();
long diff= today.getTime()-bornDay.getTime();
System.out.println(bornDay+":"+today);
System.out.println("you were born total "+diff/(24*60*60*1000)+" day");

 

3.6比较日期

 

String[] input ={"2012-10-10","2012-10-11"};
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d1 =sdf.parse(input[0]);
Date d2 =sdf.parse(input[1]);
String relation =null ;
if (d1.equals(d2)) {
	relation = " the same as ";
}else if(d1.before(d2)){
	relation =" < ";
}else if(d1.after(d2)){
	relation =" > ";
}
System.out.println(sdf.format(d1) +relation+sdf.format(d2) );

 

3.7获取当前日期信息

 

Calendar c = Calendar.getInstance();
System.out.println("year : "+c.get(Calendar.YEAR));
System.out.println("month : "+(c.get(Calendar.MONTH)+1));
System.out.println("day : "+c.get(Calendar.DATE));
System.out.println("day of week : "+c.get(Calendar.DAY_OF_WEEK));
System.out.println("day of month : "+c.get(Calendar.DAY_OF_MONTH));
System.out.println("day of year: "+c.get(Calendar.DAY_OF_YEAR));
System.out.println("week in month : "+c.get(Calendar.WEEK_OF_MONTH));
System.out.println("week in year : "+c.get(Calendar.WEEK_OF_YEAR));
System.out.println("day of week in month : "+c.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("Hour : "+c.get(Calendar.HOUR));
System.out.println("AM or PM : "+c.get(Calendar.AM_PM));
System.out.println("Hour of day(24-hour clock) : "+c.get(Calendar.HOUR_OF_DAY));
System.out.println("Minute : "+c.get(Calendar.MINUTE));
System.out.println("Second : "+c.get(Calendar.SECOND));
 

四、一个日期的小应用

 

public class ReminderService {
	
	Timer timer = new Timer();
	
	public static void main(String[] args) throws IOException {
		new ReminderService().load();
	}
	
	void load() throws IOException{
		BufferedReader bf = new BufferedReader(new FileReader("ReminderService.txt"));
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String aLine;
		while((aLine=bf.readLine())!=null){
			ParsePosition pp = new ParsePosition(0);
			Date date = sdf.parse(aLine, pp);
			if (date == null) {
				message("Invalide date in \" "+aLine+" \"");
				continue;
			}
			String mesg = aLine.substring(pp.getIndex());
			timer.schedule(new Item(mesg), date);
		}
		
	}
	
	class Item extends TimerTask{
		String message;
		
		public Item(String m) {
			this.message=m;
		}
		
		@Override
		public void run() {
			message(message);
		}
		
	}
	
	private void message(String message){
		System.out.println("message: "+message);
		JOptionPane.showMessageDialog(null, message, "Timer Alert", JOptionPane.INFORMATION_MESSAGE);
	}
}
分享到:
评论

相关推荐

    java日期处理大全

    ### Java日期处理大全:掌握时间的艺术 在Java编程中,日期和时间的处理是不可或缺的一部分,尤其是在涉及到数据记录、时间戳、定时任务等场景时。本文将深入探讨Java中的日期处理技术,涵盖从基础到进阶的各种技巧...

    java日期处理

    java日期处理

    java日期处理总结

    java中关于日期处理的总结,包含各种日期格式之间的转java.util.Date(已经不提倡使用,该类的方法比较少) java.util.Calendar(抽象类) java.util.GregorianCalendar(是Calendar的子类,日期处理时候经常使用该类)****...

    Java日期处理工具类

    基本涵盖了各种场景的日期处理需要,包括时间类型转换,获取N天前后,月初月末,某段时间按天拆分等功能,欢迎使用。

    java日期处理方法

    ### Java日期处理方法 在Java开发中,对日期与时间的操作是极其常见且重要的一个环节。无论是处理用户的出生年月日、注册日期还是订单的创建时间等,都需要使用到Java提供的日期类进行处理。本文将深入探讨Java中的...

    常用代码:java日期处理

    这篇博客"常用代码:java日期处理"很可能包含了关于如何在Java中有效地处理日期的实用示例和方法。这里我们将深入探讨Java日期处理的核心概念、API和最佳实践。 1. **Java日期API的发展历程** - Java 1.0引入了`...

    DateHandler.java日期处理类Java文件下载.rar

    DateHandler.java日期处理类Java文件下载,有些功能很不错哦,比如计算是否是季度末、计算从现在开始几天后的时间、得到当前时间,用于文件名,使用yyyyMMddHHmmss格式、比较日期,与现在-N天的日期对比、比较日期,...

    Java日期处理类 自己整理的

    自己整理的Java日期处理类 。包含获取两个之间段之间的天数、月初日期,月末日期、一个时间段之间的所有的日期,月份 一周的第一天,最后一天、 当前是周几等。仅供参考

    java日期处理小结

    在Java中,日期处理是一项常见的任务,涉及到多个类和方法。本篇文章主要总结了Java中关于日期处理的基础知识,包括`java.util.Calendar`,`java.util.GregorianCalendar`以及`java.util.Date`这三个核心类。 首先...

    java 日期处理工具类

    java 日期处理工具类

    java语言日期处理大全

    以下是一些关于Java日期处理的关键知识点,这些知识点在给定的文件中有所提及: 1. **获取当前日期**: Java通过`java.util.Date`类可以获取服务器上的当前日期。创建一个Date对象即会返回当前系统时间,如`Date ...

    Java中日期处理的代码

    根据给定的文件标题、描述、标签以及部分内容,我们可以总结出以下有关 Java 日期处理的知识点: ### 1. 导入必要的包 在 Java 中处理日期时,我们需要导入一些必要的包来支持日期时间的格式化、解析等功能。示例...

    java日期处理.pdf

    在Java编程中,日期处理是常见的任务之一,用于管理和计算日期和时间。Java提供了多种类和方法来处理日期,如`Date`、`SimpleDateFormat`和`Calendar`。以下是关于这些类和方法的详细说明: 1. **`java.util.Date`*...

    java(日期处理大全)

    第一部分关于JAVA的Date (参考关于JAVA的Date总结) 第二部分Date工具类(参考一个总结好的很好的关于JAVA的Date工具类)

    java日期处理[文].pdf

    在Java编程中,日期处理是常见的任务之一,用于管理和计算日期和时间。本文将深入探讨Java中的日期处理机制,特别是围绕`java.util.Date`和`java.util.Calendar`这两个核心类。 首先,`java.util.Date`类是Java中...

    java日期和查询数据库生成XML文件类

    1. **Java日期处理**: - `java.time`包:Java 8引入的新时间日期API,提供了`LocalDate`, `LocalTime`, `LocalDateTime`等类,它们提供了丰富的日期和时间操作功能。 - `SimpleDateFormat`:旧版日期格式化工具,...

Global site tag (gtag.js) - Google Analytics