日期处理类详解

Java操作日期主要使用Date类,Calendar类,SimpleDateFormat类

1.Date类(java.util.Date包下而非java.sql.Date包)

代码:

Date date = new Date();
Log.d("TAG","当前日期----:"+date);

结果:

当前日期----:Thu Jun 21 17:01:37 GMT+08:00 2018

2.Calendar类(java.util包下而非android.icu.util包)

代码:

Calendar calendar = Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH)+1;//[0,11],所以要加1
int day=calendar.get(Calendar.DAY_OF_MONTH);
int hour=calendar.get(Calendar.HOUR_OF_DAY);
int minute=calendar.get(Calendar.MINUTE);
int second=calendar.get(Calendar.SECOND);
String result="当前日期----:"+year+"年"+month+"月"+day+"日 "+hour+":"+minute+":"+second;
Log.d("TAG",result);

final char[] week = {'日', '一', '二', '三', '四', '五', '六'};
int week_num = calendar.get(Calendar.DAY_OF_WEEK) - 1;
Log.d("TAG","今天是星期" + week[week_num]);




calendar .setTimeInMillis(l);//可手动添加时间戳显示指定时间戳

结果:

当前日期----:2018年6月21日 17:12:4
今天是星期四

3.Date类+SimpleDateFormat类(java.text包下而非android.icu.text包)

代码:

Date mdate = new Date();

SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result1=simpleDateFormat1.format(mdate);
Log.d("TAG","result1----:"+result1);


SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String result2=simpleDateFormat2.format(mdate);
Log.d("TAG","result2----:"+result2);


SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy-MM-dd");
String result3=simpleDateFormat3.format(mdate);
Log.d("TAG","result3----:"+result3);


SimpleDateFormat simpleDateFormat4 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String result4=simpleDateFormat4.format(mdate);
Log.d("TAG","result4----:"+result4);

结果:

result1----:2018-06-21 17:18:14
result2----:2018-06-21 17:18
result3----:2018-06-21
result4----:2018/06/21 17:18:14

说明:

YYYY和yyyy效果是不一样的。

以2019年12月31日举例:

yyyy-MM-dd:2019-12-31

YYYY-MM-dd:2020-12-31

因为:

Y指的是Week year,表示的是这个周所属的年份;y 表示的才是我们日常使用的年份。

4.将毫秒转换成时间字符串

代码:

long currentTimeMillis=System.currentTimeMillis();
Date mdate = new Date(currentTimeMillis);
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result1=simpleDateFormat1.format(mdate);
Log.d("TAG","result1----:"+result1);

结果:

result1----:2018-06-21 18:02:24

5.将字符串转换成毫秒

代码:

String date = "2018-06-21 18:02:05";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
     long time2 = simpleDateFormat.parse(date).getTime();
     Log.d("TAG","time2----:"+time2);
} catch (ParseException e) {
      e.printStackTrace();
 }

结果:

time2----:1529575325000

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值