Java自定义时间格式全接触

一般我们Java实现显示时间方式有:Date date = new Date();
date.getTime();
还有一种方式,使用System.currentTimeMillis();

这两种方式获得的结果是一样的,都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数。
而且由于Java默认的时间格式是:Mon Jul 03 08:47:50 CST 2006的。
一般我们在中文或者具体项目中使用比较麻烦。

例如我们要显示的时间格式:yyyy年MM月dd日_HH时mm分ss秒那么就可以通过自定义自己的时间格式来完成了。

首先,定义一个SimpleDateFormat变量
SimpleDateFormat sdf = new SimpleDateFormat(("yyyy-MM-dd",Locale.SIMPLIFIED_CHINESE);
这个构造函数的定义如下:
SimpleDateFormat(String pattern, Locale locale)

第一个参数pattern,是时间格式。第二个参数,是用来设置时区的,这里用到了java.util.Locale这个类,这个类了面定义了很多静态变量,直接拿过来用就OK,我们把时区设置为Locale.SIMPLIFIED_CHINESE,只看名字,这个静态变量的意义已经很清楚了

Pattern参数:
Letter Date or Time Component  Presentation  
G Era designator  Text  
y Year  Year  
M  Month in year  Month  
w  Week in year  Number  
W  Week in month  Number  
D  Day in year Number  
d  Day in month  Number  
F  Day of week in month  Number  
E  Day in week  Text
a  Am/pm marker  Text  
H  Hour in day (0-23) Number  
k  Hour in day (1-24) Number  
K  Hour in am/pm (0-11)  Number  
h   Hour in am/pm (1-12)  Number  
m   Minute in hour  Number  
s   Second in minute  Number  
S   Millisecond  Number  
z   Time zone   General time zone  
Z   Time zone  RFC 822 time zone  

所以
使用这个SimpleDateFormat把当前时间格式化为一个如下格式的时间字符串“XXXX年XX月XX日_XX时XX分XX秒”,代码:

sdf.applyPattern("yyyy年MM月dd日_HH时mm分ss秒");

String timeStr = sdf.format(new Date());

所以完成的代码:

import java.util.*;
import java.text.*;

public class TimeFormat {
 public static void main(String[] args) {
   //默认的时间显示模式
   Date date = new Date();
   date.getTime();
   System.out.println(date);
   System.currentTimeMillis();
   //自定义的时间显示模式
   SimpleDateFormat sdf = new SimpleDateFormat("",Locale.SIMPLIFIED_CHINESE);
   sdf.applyPattern("yyyy年MM月dd日_HH时mm分ss秒");
   String timeStr = sdf.format(new Date());
       System.out.println(timeStr);

 }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值