java date用法_聊一聊java中date的使用

首先说下,我也是菜鸟,在使用java Date时,刚开始总有种有力使不上的的感觉,大多数时间我们使用Date其实就是在String和他之间转换来转换去的。为了能更好的使用这个东西,我很多时候会有这样的疑问:

String s=”1995年的3月那个流着血的18日”;

Date d=?;

我们该怎么样转化呢?正则?字符串解析?其实java提供了一个非常方便的让我们处理各种自定义日期格式的工具类

public abstract class DateFormatextends Format

SimpleDateFormat(String pattern)

用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

这是他初始化的一个方法,其中的pattern可以使用自定义的日期格式,配合这标准的日期参数使用,感觉非常灵活好用,具体如下,自己体会,参数附录在最后。

其中的核心两个常用转换方法是:

public final String format(Date date)

将一个 Date 格式化为日期/时间字符串。

参数:date – 要格式化为时间字符串的时间值。返回:已格式化的时间字符串。

public Date parse(String source)

throws ParseException

从给定字符串的开始解析文本,以生成一个日期。该方法不使用给定字符串的整个文本。有关日期解析的更多信息,请参阅 parse(String, ParsePosition) 方法。

参数:source – 一个 String,应从其开始处进行解析。返回:解析字符串得到的 Date。抛出:

具体用法如下:

package langtest;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class DateFormatTest {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

String string=”1995年的3月那个流着血的18日”;

Date date=new Date();

DateFormat dateFormat=new SimpleDateFormat(“yyyy年的M月那个流着血的dd日”);  try {

date=dateFormat.parse(string);   System.out.println(date);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

String string2=dateFormat.format(date);  System.out.println(string2);

}

}

另附上初始化SimpleDateFormat具体要用到的各个参数:

字母 日期或时间元素 表示 示例

G

Era 标志符

AD

y

1996; 96

M

年中的月份

July; Jul; 07

w

年中的周数

27

W

月份中的周数

2

D

年中的天数

189

d

月份中的天数

10

F

月份中的星期

2

E

星期中的天数

Tuesday; Tue

a

Am/pm 标记

PM

H

一天中的小时数(0-23)

0

k

一天中的小时数(1-24)

24

K

am/pm 中的小时数(0-11)

0

h

am/pm 中的小时数(1-12)

12

m

小时中的分钟数

30

s

分钟中的秒数

55

S

毫秒数

978

z

时区

Pacific Standard Time; PST; GMT-08:00

其中总容易被搞错的就是月份的M是大写的,而分钟数m则是小写的,参数上很多都蛮实用的,但是要注意大小写,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值