偶尔需要格式化时间,所以这里把网上的经验都集中起来,方便自己查询。
Java中,我经常使用java.util.Date,但是好多方法都废弃,不过还是写了小程序
package com.time.example;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* UTC是协调世界时(Universal Time Coordinated)英文缩写,
* 是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。
* UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,
* 以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。
* @author menuz
*
*/
public class TimeFormat1 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
Date date = c.getTime();
// 运行电脑时间2012/01/17 2:18pm
System.out.println(date.getDate());
//結果:17 //解釋: 几号
System.out.println(date.getDay());
//2 // 周二 0为周日
System.out.println(date.getHours());
//14
System.out.println(date.getMinutes());
//18
System.out.println(date.getMonth());
//0 // 月从0开始计算
System.out.println(date.getSeconds());
//26 // 秒
System.out.println(date.getTime());
//1326781106425 // Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
System.out.println(date.getTimezoneOffset());
//-480 // 東八區,比0時區快了八個小時,60*8
System.out.println(date.getYear());
//112
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(sdf.format(date));
//2012年01月17日 14时18分26秒
}
}
但是使用SimpleDateFormat更加灵活,而且更加适合编程的需要
java.text.SimpleDateFormat
java.lang.Object
java.text.Format
java.text.DateFormat
java.text.SimpleDateFormat
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 来创建日期-时间格式器。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式器。
A-Z,a-z都是保留关键字
当Date and Time string为 "yyyy-mm-dd" 显示 年-月-日
当Date and Time string为 "bb" 报错,保留字未定义,见下图
使用'可以防止SimpleDateFormat将s转义
当Date and Time string为 " 'b' " 不报错
一个SimpleDateFormat小例子
package com.time.example;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeFormat2 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat CeshiFmt0 = new SimpleDateFormat(
"Gyyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat CeshiFmt1 = new SimpleDateFormat("asd 'b' yyyy/MM/dd HH:mm");
SimpleDateFormat CeshiFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat CeshiFmt3 = new SimpleDateFormat(
"yyyy年MM月dd日 HH时mm分ss秒 E ");
SimpleDateFormat CeshiFmt4 = new SimpleDateFormat("yyyy/MM/dd E");
SimpleDateFormat CeshiFmt5 = new SimpleDateFormat(
"一年中的第 D 天 ,第w个星期 ,一个月中第W个星期 ,k时 z时区");
Date now = new Date();
System.out.println(CeshiFmt0.format(now));
System.out.println(CeshiFmt1.format(now));
System.out.println(CeshiFmt2.format(now));
System.out.println(CeshiFmt3.format(now));
System.out.println(CeshiFmt4.format(now));
System.out.println(CeshiFmt5.format(now));
/*输出结果:
AD2012年01月17日 15时21分36秒
PM3617 b 2012/01/17 15:21
2012-01-17 15:21:36
2012年01月17日 15时21分36秒 Tue
2012/01/17 Tue
一年中的第 17 天 ,第3个星期 ,一个月中第3个星期 ,15时 CST时区
*/
}
}
java.util.Calendar
Calendar is an abstract base class for converting between a Date object and a set of integer fields such as YEAR, MONTH, DAY, HOUR, and so on. (A Date object represents a specific instant in time with millisecond precision. See Date for information about the Date class.)
Subclasses of Calendar interpret a Date according to the rules of a specific calendar system. The platform provides one concrete subclass of Calendar: GregorianCalendar. Future subclasses could represent the various types of lunar calendars in use in many parts of the world.
package com.time.example;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TimeFormat3 {
public static void main(String[] args) throws ParseException {
Calendar calendar = Calendar.getInstance();
//当前时间为2012/01/17 15:59:8
System.out.println(calendar.get(Calendar.YEAR));
//输出:2012
System.out.println(calendar.get(Calendar.MONTH));
//0
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
//17
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
//15
System.out.println(calendar.get(Calendar.MINUTE));
//49
System.out.println(calendar.get(Calendar.SECOND));
//8
}
凌晨的判断 00:00:00
1)
SimpleDateFormat timeFormat = new SimpleDateFormat("HHmmss");
Date now = new Date();
if(timeFormat.format(now).equals("000000")) {
System.out.println("凌晨");
}
2)
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.Hour);
int minute = cal.get(Calendar.Minute);
int second = cal.get(Calendar.Second);
if(hour == 0 && minute == 0 && second == 0) {
System.out.println("凌晨");
}
附java时间操作函数汇总:
http://www.iteye.com/topic/256420
- 大小: 79.6 KB
分享到:
相关推荐
Java日期格式化是Java开发中常见的一项任务,它涉及到日期和时间的处理,尤其是在数据输入输出、用户界面显示以及数据库交互等场景。Java提供了一系列的类来帮助我们完成日期和时间的格式化工作,其中最常用的包括`...
java日期格式化,针对各种日期进行不同的格式化,获取两个日期之间的日期(包含前后)获取未来 第 past 天的日期获取过去第几天的日期
Java 日期格式化大全是 Java 中一个非常重要的知识点,它对于将时间字符串转换为日期或将日期转换为时间字符串起着关键作用。在 Java 中,我们通常使用 `java.text.SimpleDateFormat` 类来处理日期和时间字符串的...
### Java日期格式化详解及其应用实例 #### 一、引言 在Java开发过程中,日期时间的处理是一项非常常见的需求。对于日期时间的格式化、解析等操作,`SimpleDateFormat` 类提供了强大的支持。本文将详细介绍`...
java日期格式化工具类,一些常用的日期操作方法
本篇文章将深入探讨Java中的日期格式化工具类及其使用方法,主要围绕提供的`DateUtil`工具类展开。 首先,`java.util.Date`是Java早期用于表示日期和时间的基础类,但它并不提供直接的格式化功能。为了将`Date`对象...
JAVA 时间格式化处理 JAVA 时间格式化处理是软件开发中一个非常重要的方面。它涉及到日期和时间的处理、格式化和计算。在 JAVA 中,日期和时间的处理主要通过 java.util 包中的 Date、Calendar 和 DateFormat 等类...
DateConvert,java时间格式化类,时间格式化
在Java编程语言中,日期和时间处理是常见且重要的任务。...无论是进行简单的日期格式化,还是复杂的日期计算,都能游刃有余。在实际项目中,结合使用新旧API,可以充分利用各自的优势,提高代码质量。
本文将深入探讨Java中日期格式化的常用方法,主要关注`SimpleDateFormat`和`java.time`包下的`DateTimeFormatter`。 首先,`SimpleDateFormat`是旧版日期时间API的一部分,尽管在Java 8之后被推荐使用新的`java....
在给定的代码示例中,我们看到了如何使用`MessageFormat`、`SimpleDateFormat`和`Calendar`进行日期格式化: 1. 使用`MessageFormat.format()`方法,我们可以将日期对象格式化为字符串。这里的`{0,date,yyyy-MM-dd-...
Java数据格式化是Java编程语言中处理数据呈现和解析的核心技术之一,主要涉及对文本、日期、数值等数据类型的格式化处理,以适应不同的显示需求和国际化标准。本文将深入探讨Java数据格式化的关键概念、类和方法,...
字母 日期或时间元素 表示 示例 G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W 月份中的周数 Number 2 D 年中的天数 Number 189 d 月份中的天数 ...
在Java编程中,日期处理是一项常见的任务,涉及到各种日期格式化、转换以及与数据库交互的操作。以下是关于Java日期处理的一些关键知识点,主要基于标题、描述和提供的代码示例。 1. **SimpleDateFormat**: `...
3. **新的日期格式化API**:在Java 8中,`java.time.format.DateTimeFormatter`类取代了`SimpleDateFormat`,提供了更高效且线程安全的日期格式化方式。例如: ```java DateTimeFormatter formatter = ...
在IT行业中,尤其是在Java开发领域,日期和时间的处理是一项非常常见的任务。为了方便开发者更加直观地展示日期信息,如“几分钟前”或“几天前”,一个名为"marlonlom-timeago"的简单Java库应运而生。这个库的目标...
在Java编程语言中,日期和时间的处理是常见的任务,特别是在数据...理解并熟练掌握这些日期格式化方法,对于任何Java开发者来说都是至关重要的。在实际开发中,根据项目需求和兼容性考虑,可以选择适合的日期处理方式。