Java中使用SimpleDateFormat 进行日期格式化类

SimpleDateFormat 日期格式化类

示例 1 : 日期转字符串

y 代表年

M 代表月

d 代表日

H 代表24进制的小时

h 代表12进制的小时

m 代表分钟

s 代表秒

S 代表毫秒

package date;

import java.text.SimpleDateFormat;
import java.util.Date; public class TestDate { public static void main(String[] args) { //y 代表年
//M 代表月
//d 代表日
//H 代表24进制的小时
//h 代表12进制的小时
//m 代表分钟
//s 代表秒
//S 代表毫秒
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
Date d= new Date();
String str = sdf.format(d);
System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str); SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
Date d1= new Date();
String str1 = sdf1.format(d1);
System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1); }
}

示例 2 : 字符串转日期

模式(yyyy/MM/dd HH:mm:ss)需要和字符串格式保持一致,如果不一样就会抛出解析异常ParseException

package date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class TestDate { public static void main(String[] args) {
SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" ); String str = "2016/1/5 12:12:12"; try {
Date d = sdf.parse(str);
System.out.printf("字符串 %s 通过格式 yyyy/MM/dd HH:mm:ss %n转换为日期对象: %s",str,d.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}

练习日期格式化

准备一个长度是9的日期数组

使用1900年-2000年之间的随机日期初始化该数组

按照这些日期的时间进行升序排序

比如 1988-1-21 12:33:22 就会排在 1978-4-21 19:07:23 前面,因为它的时间更小,虽然日期更大



答案

package date;

import java.util.Date;
import java.util.Scanner;
import java.text.ParseException;
import java.text.SimpleDateFormat; public class DateSort{
//随机日期产生方法
public static Date getRandomDate(int start,int end){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
long timeStart=0;
long timeEnd=0;
try {
Date dateStart = sdf.parse(String.valueOf(start));
//System.out.println(dateStart);
Date dateEnd = sdf.parse(String.valueOf(end));
timeEnd = dateEnd.getTime()-1;
timeStart = dateStart.getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long randomTime = (long)(timeStart+(Math.random()*(timeEnd-timeStart)));
//System.out.println(randomTime);
return new Date(randomTime);
}
//格式化输出日期字符串方法
public static String toString(Date d,String format){
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(d); }
public static void main(String[] args) { Date[] ds = new Date[9]; //创建随机日期数组 // Scanner s = new Scanner(System.in);
// System.out.println("请输入开始年份:");
// int startYear = s.nextInt();
// System.out.println("请输入结束年份:");
// int endYear = s.nextInt(); for (int i = 0; i < ds.length; i++) { //初始化数组
ds[i] = getRandomDate(1900,2000);
} System.out.println("排序前的随机日期数组:");
for (int i = 0; i < ds.length; i++) {
System.out.print(toString(ds[i],"yyyy-MM-dd HH:mm:ss")+"\t");
if(i%3==2)
System.out.println(); } for (int i = 0; i < ds.length; i++) {
for (int j = 0; j < ds.length-1-i; j++) {
String str1 = DateSort.toString(ds[j],"HHmmss");
String str2 = toString(ds[j+1],"HHmmss"); int j1 = Integer.parseInt(str1);
int j2 = Integer.parseInt(str2); if (j1>j2) {
Date temp = ds[j];
ds[j]=ds[j+1];
ds[j+1]=temp; }
}
}
System.out.println("排序后得到的日期数组:");
for (int i = 0; i < ds.length; i++) {
System.out.print(toString(ds[i],"yyyy-MM-dd HH:mm:ss")+"\t");
if(i%3==2)
System.out.println();
}
}
}

Java自学-日期 日期格式化的更多相关文章

  1. Java魔法堂:Date与日期时间格式化

    一.前言                                                                                       日期时间的获取.显 ...

  2. Java 日期时间格式化

    在此记录Java日期时间格式化转换符,方便以后有需要时查找. 1.日期格式化 2.时间格式化 3.格式化常见的日期时间组合

  3. java编程--02日期格式化

    第一篇,介绍日期的比较 第二篇,介绍日期的格式化 第三篇,介绍关于日期常用的计算 第四篇,比较几个常用的日期时间相关类的区别 第五篇,jdk9对日期类进行了更新,写一些i自己的学习心得. 日期的格式化 ...

  4. java中获取日期和时间的方法总结

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下:  要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...

  5. Java Hour 50 日期类型

    Plan List: 1 Java 中的日期类型 2 mysql 相关 3 java code style 鉴于本问题太过普通,所以参考文章满大街都是,因此本文内容基本为转载和验证. java.sql ...

  6. net.sf.json日期类型格式化输出

    net.sf.json 日期类型格式化输出 Date, Timestamp ; 编写工具类 package cn.jorcen.commons.util; import java.text.DateF ...

  7. Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  8. Java中的日期处理类

    在Java中可以使用Date类和Calendar类来处理日期 但是Date类很多方法都过时了,推荐使用Canlendar类来处理日期,并对日期的格式化做了介绍.下面的部分将会逐一介绍 Date类 Ja ...

  9. Java 8 时间日期库的20个使用示例

    java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之, ...

  10. 计算机程序的思维逻辑 (95) - Java 8的日期和时间API

    ​本节继续探讨Java 8的新特性,主要是介绍Java 8对日期和时间API的增强,关于日期和时间,我们在之前已经介绍过两节了,32节介绍了Java 1.8以前的日期和时间API,主要的类是Date和 ...

随机推荐

  1. 跳过__wakeup()魔法函数

    __wakeup():将在序列化之后立即被调用. 漏洞原理:当反序列化字符串中,表示属性个数的值大于其真实值,则跳过__wakeup()执行.     参考题目:xctf-unserialize3 h ...

  2. CF308C-Sereja and Brackets-(线段树+括号匹配)

    题意:给出一段括号,多次询问某个区间内能匹配多少括号. 题解:线段树,结构体三个属性,多余的左括号l,多余的右括号r,能够匹配的括号数val. 当前结点的val=左儿子的val+右儿子的val+min ...

  3. PHP csv导出数据

    全部导出和时间导出 html代码,全程并不需要引用什么插件 <include file="public@header"/> <link href="__ ...

  4. java spring框架的定时任务

    由于测试的原因,最近有接触java spring  @Scheduled的定时任务,当时还以为配置起来表达式和crontab是完全一样的,没想到还有些许不一样. 在spring中,一个cron表达式至 ...

  5. 用!htrace调试句柄泄漏的一般步骤

    Windbg调试器的!htrace扩展对于调试泄漏处理非常方便.该过程基本上可归结为以下简单步骤: 启用跟踪 拍张快照 情景分析 显示差异 在第四步!htrace将在最后一个快照之后显示所有额外打开的 ...

  6. gcd与exgcd

    gcd 辗转相除法求gcd证明 \(gcd(a, b) == gcd(b, a\%b)\) 证明: 设: \(d\)为\(a\)与\(b\)的一个公约数, 则有\(d|b\) \(d|a\) 设: \ ...

  7. java web开发入门四(spring)基于intellig idea

    spring 1.spring简介 Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架. 且可以和其他框架一起使用:Spring与Struts,  Spring与hibernate (起 ...

  8. bat修改文件内容

    #file.vbsSet fso = Wscript.CreateObject("Scripting.FileSystemObject")set f=fso.opentextfil ...

  9. 2018的Java

    少用复制黏贴 程序员很多时候都习惯复制黏贴,这里复制一点,那里复制一点,拼拼凑凑的搞出了一段代码.这是一种常态,毕竟没有必要重复造轮子,在开发的时候,讲究的是效率,讲究速度,有时候也是不得不这样做.但 ...

  10. DI 依赖注入之unity(mvc)

    DI 依赖注入之unity(使用unity.mvc) 一.nuget下载安装: 使用Nuget安装Unity.MVC 安装完成后会在~/App_Start/目录下自动生成UnityMvcActivat ...