Date、 Calendar、SimpleDateFormat类

头文件:
import java.text.*;
import java.util.Calendar;
import java.util.Date;

Date类:Date now =new Date();

Calendar类:Calendar calendar = Calendar.getInstance(); //实时的

Calendar转为Date: now=calendar.getTime();

Date转为Calendar:calendar.setTime(new java.util.Date());

利用Calendar求星期几:
String[] weeks = { “星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六” };
// 获取一星期的某天
int index = calendar.get(Calendar.DAY_OF_WEEK);
// 获取星期几
String week = weeks[index - 1];

将Date化为特定形式:
SimpleDateFormat myFmt3=new SimpleDateFormat(“yyyy年MM月dd日 HH时mm分ss秒 E “);
Date now=new Date();
System.out.println(myFmt3.format(now));

例子:

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

/**
  SimpleDateFormat函数语法:

  G 年代标志符
  y 年
  M 月
  d 日
  h 时 在上午或下午 (1~12),12小时制
  H 时 在一天中 (0~23),24小时制
  m 分
  s 秒
  S 毫秒
  E 星期
  D 一年中的第几天
  F 一月中第几个星期几
  w 一年中第几个星期
  W 一月中第几个星期
  a 上午 / 下午 标记符 
  k 时 在一天中 (1~24)
  K 时 在上午或下午 (0~11)
  z 时区
 */
public class FormatDateTime {

    public static void main(String[] args) {
        SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm"); 
        SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
        SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
        SimpleDateFormat myFmt4=new SimpleDateFormat(
                "一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
        Date now=new Date();
        System.out.println(myFmt.format(now));
        System.out.println(myFmt1.format(now));
        System.out.println(myFmt2.format(now));
        System.out.println(myFmt3.format(now));
        System.out.println(myFmt4.format(now));
        System.out.println(now.toGMTString());
        System.out.println(now.toLocaleString());
        System.out.println(now.toString());
    }    

}

/*
 * 结果如下:
2016年06月20日 01时22分13秒
16/06/20 01:22
2016-06-20 01:22:13
2016年06月20日 01时22分13秒 星期一 
一年中的第 172 天 一年中第26个星期 一月中第4个星期 在一天中1时 CST时区
19 Jun 2016 17:22:13 GMT
2016-6-20 1:22:13
Mon Jun 20 01:22:13 CST 2016
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值