Java SE基础部分——常用类库之SimpleDateFormat(日期格式化)

取得当前日期,并按照不同日期格式化输入。代码如下:

 1 //  20160618     SimpleDateFomat类的使用           日期格式化              练习
 2 package MyPackage; //自己定义的包
 3
 4 import java.text.SimpleDateFormat; //导入需要的SimpleDateFormat包
 5 import java.util.Date; //导入需要的Date包
 6
 7 class MyDateDemo { // 定义的MyDateDemo类
 8     private SimpleDateFormat sd = null; // 声明SimpleDateFormat对象sd
 9
10     public String getDate01() { // 定义getDate01方法
11         this.sd = new SimpleDateFormat("yyyy-MM-dd HH:mm;ss.sss"); // 得到一个"yyyy-MM-dd
12                                                                     // HH:mm;ss.sss"格式日期
13         return this.sd.format(new Date()); // 将当前日期进行格式化操作
14     }
15
16     public String getDate02() { // 定义getDate02方法
17         this.sd = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒sss毫秒"); // 得到一个"yyyy年MM月dd日
18                                                                         // HH时mm分ss秒sss毫秒"格式日期
19         return this.sd.format(new Date()); // 将当前日期进行格式化操作
20     }
21
22     public String getDate03() {// 定义getDate03方法
23         this.sd = new SimpleDateFormat("yyyyMMddHHmmsssss");// 得到一个"yyyyMMddHHmmsssss"格式日期(也就是时间戳)
24         return this.sd.format(new Date());// 将当前日期进行格式化操作
25     }
26 }
27
28 public class SimpleDateFormatDemo {// 主类
29
30     public static void main(String[] args) { // 主方法
31         MyDateDemo dd = new MyDateDemo(); // 声明dd对象,并实例化
32         System.out.println("默认日期格式: " + new Date());// 分别调用方法输入不同格式的日期
33         System.out.println("英文日期格式: " + dd.getDate01());
34         System.out.println("中文日期格式: " + dd.getDate02());
35         System.out.println("时间戳: " + dd.getDate03());
36
37     }
38
39 }

还有另一个日期格式化的方法,这种方法优先使用,另一种方法代码如下:

 1 import java.util.* ;    // 导入需要的工具包
 2 class DateTime{        // 以后直接通过此类就可以取得日期时间
 3     private Calendar calendar = null ;        // 声明一个Calendar对象,取得时间
 4     public DateTime(){                        // 构造方法中直接实例化对象
 5         this.calendar = new GregorianCalendar() ;
 6     }
 7     public String getDate(){        // 得到的是一个日期:格式为:yyyy-MM-dd HH:mm:ss.SSS
 8         // 考虑到程序要频繁修改字符串,所以使用StringBuffer提升性能
 9         StringBuffer buf = new StringBuffer() ;
10         buf.append(calendar.get(Calendar.YEAR)).append("-") ;    // 增加年
11         buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)).append("-") ;    // 增加月
12         buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)).append(" ") ;    // 取得日
13         buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append(":") ;    // 取得时
14         buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)).append(":") ;
15         buf.append(this.addZero(calendar.get(Calendar.SECOND),2)).append(".") ;
16         buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)) ;
17         return buf.toString() ;
18     }
19     public String getDateComplete(){        // 得到的是一个日期:格式为:yyyy年MM月dd日 HH时mm分ss秒SSS毫秒
20         // 考虑到程序要频繁修改字符串,所以使用StringBuffer提升性能
21         StringBuffer buf = new StringBuffer() ;
22         buf.append(calendar.get(Calendar.YEAR)).append("年") ;    // 增加年
23         buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)).append("月") ;    // 增加月
24         buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)).append("日") ;    // 取得日
25         buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append("时") ;    // 取得时
26         buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)).append("分") ;        // 取得分
27         buf.append(this.addZero(calendar.get(Calendar.SECOND),2)).append("秒") ;        // 取得秒
28         buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)).append("毫秒") ;     // 取得毫秒
29         return buf.toString() ;
30     }
31     public String getTimeStamp(){        // 得到的是一个时间戳
32         // 考虑到程序要频繁修改字符串,所以使用StringBuffer提升性能
33         StringBuffer buf = new StringBuffer() ;
34         buf.append(calendar.get(Calendar.YEAR)) ;    // 增加年
35         buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)) ;    // 增加月
36         buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)) ;    // 取得日
37         buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)) ;    // 取得时
38         buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)) ;        // 取得分
39         buf.append(this.addZero(calendar.get(Calendar.SECOND),2));        // 取得秒
40         buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)) ;     // 取得毫秒
41         return buf.toString() ;
42     }
43     // 考虑到日期中存在前导0,所以在此处加上补零的方法
44     private String addZero(int num,int len){
45         StringBuffer s = new StringBuffer() ;
46         s.append(num) ;
47         while(s.length()<len){    // 如果长度不足,则继续补0
48             s.insert(0,"0") ;    // 在第一个位置处补0
49         }
50         return s.toString() ;
51     }
52 };
53 public class DateDemo06{
54     public static void main(String args[]){
55         DateTime dt = new DateTime() ;
56         System.out.println("系统日期:"+dt.getDate()) ;
57         System.out.println("中文日期:"+dt.getDateComplete()) ;
58         System.out.println("时间戳:"+dt.getTimeStamp()) ;
59     }
60 };

经常使用,就可以熟练记住和使用。

时间: 2024-08-29 03:50:03

Java SE基础部分——常用类库之SimpleDateFormat(日期格式化)的相关文章

Java SE基础部分——常用类库之NumberFormat

1 //20160517 NumberFormat常用类库 2 package MyPackage; //定义包 3 4 import java.text.NumberFormat; //导入需要的类库NumberFormat 5 6 public class NumberFormatDemo {// 定义主类和main方法 7 public static void main(String[] args) { 8 NumberFormat nf = null; // 声明NumberFormat

Java SE 基础:标识(zh&#236;)符

Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不能以数组开头 不能是 Java 关键字(见关键字表:) 书写时区分大小写(大写和小写表示两个不同的标识符,如 public 和 Public 是不同的) 三.Java 中标识符的命名规则要做到:见名知意 包(package):包其实就是文件夹,用于区分项目中文件的结构,包名应当使用小写 单级包:to

Java SE基础部分

java语言介绍: javaSE:基础版,基础语言,为后期开发工作打基础  javaME:小型版 ,主要做小型企业支付平台  javaEE:企业版,web方向   J2SE , J2EE ,  J2ME 在jdk1.5以后,更名为javaSE 一.安装JDK,搭建开发环境   1.概念: JVM:(java Virtual Machine)-java虚拟机,所有的java程序需要运行在java虚拟机中 JRE:(Java Runtime Environment)-java运行时环境,包含了jvm

java se基础的基础

面向过程: 一个学生7点要起床,8点之前吃完饭,8点半上课,然后12点下课,然后吃午饭和睡觉,然后15点上课,知道19点下课吃晚饭,又是晚自习,最后下自习睡觉. 一个老师7点起床,吃早饭,讲课,吃饭睡午觉,上课,吃饭,晚间辅导,睡觉.这就是对于一名学生和一名老师一天的作息.面向对象: 学生:事件(起床,吃饭,上课),属性(时间) 老师:事件(起床,吃饭,讲课),属性(时间)面向对象的特性: 封装:使得单个文件之间高内聚低耦合,将具有一定联系的处理逻辑或者共性特征提取出来封装成独立的java类,封

Java SE 基础知识(2)--- String 的构造方法

String 对于所有 Java 程序员来说都不会陌生,几乎每天甚至每个程序都会和 String 打交道,因此将 String 的常用知识汇集在此,方便查阅. 概叙: Java 中是如此定义 String 的: public final class String extends Object implements Serializable, Comparable<String>, CharSequence String 是 final 类型的,继续看下面的解释: The String clas

JAVA SE 基础复习-Class与反射

Class 关于Class,直接参考http://lavasoft.blog.51cto.com/62575/15433 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类.Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建.      Class 没有公共构造方法.Class 对象是在加载类时由 Java 虚拟机

java SE 基础复习-数组

数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int[10]; 数组名,也即引用a,指向数组元素的首地址. 方式2(同C语言) type变量名[] = new type[数组中元素的个数]; 如: int a[] = new int[10]; 方式3 定义时直接初始化 type[] 变量名 = new type[]{逗号分隔的初始化值}; 其中红色部

Java SE 基础知识(1)

常量: 常量是一种标识符,它的值在运行期间恒定不变,并且常量在程序中只能被引用,而不能被重新赋值. 常量的命名规则: 1.在 Java 中,在变量声明中加入 final 关键字代表常量,加入 static 关键字代表类变量.一般结合起来声明一个变量: 2.尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串: public static final double PI = 3.1415926; 在 Java 接口中声明一个变量,编译时会自动加上 public static final

Java SE 基础复习-内存泄露

一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的.GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请.引用.被引用.赋值等状况进行监控,Java会使用有向图的方法进行管理内存,实时监控对象是否可以达到,如果不可到达,则就将其回收,这样也可以消除引用循环的问题.在J