Java自学-日期 日期格式化
2019-10-12 08:30:27来源:博客园 阅读 ()
Java自学-日期 日期格式化
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();
}
}
}
原文链接:https://www.cnblogs.com/jeddzd/p/11651777.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Thymeleaf 入门
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash