0
点赞
收藏
分享

微信扫一扫

SingleDateFormat--使用/教程/实例

蚁族的乐土 2022-02-15 阅读 57


简介

        本文用示例介绍Java中的日期格式化类SimpleDateFormat的用法。

        SimpleDateFormat的toString方法返回的String格式示例:Mon May 04 09:51:52 CDT 2013

常用方法

以下方法全都不是静态方法。必须先new一个SimpleDateFormat

方法名

作用

long getTime( )

对应的时间戳

void setTime(long time)

根据时间戳设置时间

String format(Date date)

把日期格式化为想要的格式

Date parse(String source)

将字符串解析为Date

boolean equals(Object date)

当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。

boolean after(Date date)

若当调用此方法的Date对象在指定日期之后返回true,否则返回false。

boolean before(Date date)

若当调用此方法的Date对象在指定日期之前返回true,否则返回false。

日期格式化编码

日期和时间的格式化编码 

时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母,定义如下:


字母



描述


有效值


示例



G



纪元标记



AD



y



四位年份


yy, yyyy


2001



M



月份



MM,MMM,MMMM


MM

二位数字显示月份。位数不够前面补 0

MMM

用月份名称简写显示月份,如 Nov

MMMMM

用月份名称全称显示月份,如 November
















07



d



一个月的日期


d,dd


10



h



 A.M./P.M. (1~12)格式小时



hh:二位数字显示 12 小时制的小时 ,位数不够前面补 0



12



H



一天中的小时 (0~23)



HH:二位数字显示 24 小时制的小时,位数不够前面补 0



22



m



分钟数



mm:二位数字显示分钟,位数不够前面补 0



30



s



秒数



ss:二位数字显示秒 ,位数不够前面补 0



55



S



毫秒数


SSS:三位数字显毫秒,位数不够前面补 0


234



E



星期几



Tuesday



D



一年中的日子


0-366


360



F



一个月中第几周的周几



2 (second Wed. in July)



w



一年中第几周



40



W



一个月中第几周


0-5


1



a



A.M./P.M. 标记



PM



k



一天中的小时(1~24)


1-24


24



K



 A.M./P.M. (0~11)格式小时


0-11


10



z



时区



Eastern Standard Time



'



文字定界符



Delimiter



"



单引号


在两个'符号之间的字符串会被当做常量直接显示


`


非字母字符

例如-/*&^%()数字等,直接填充字符串位置

使用printf格式化日期

printf 方法可以很轻松地格式化时间和日期。使用两个字母格式,它以 %t 开头并且以下面表格中的一个字母结尾。


转换符



说    明



示    例



c



包括全部日期和时间信息



星期六 十月 27 14:21:20 CST 2007



F



"年-月-日"格式



2007-10-27



D



"月/日/年"格式



10/27/07



r



"HH:MM:SS PM"格式(12时制)



02:25:51 下午



T



"HH:MM:SS"格式(24时制)



14:28:16



R



"HH:MM"格式(24时制)



14:28


普通转换

其他网址


基本转换 

package org.example.a;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo{
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));

try {
Date date1 = sdf.parse("2020-07-20 20:30:10");
System.out.println(date1);
} catch (ParseException e) {
e.printStackTrace();
}
}
}

运行结果

Wed Jul 29 21:56:18 CST 2020
2020-07-29 21:56:18
Mon Jul 20 20:30:10 CST 2020

cron与Date转换

package org.example.a;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

class DateUtil {
//日期转化为cron表达式
public static String getCron(Date date){
String dateFormat="ss mm HH dd MM ? yyyy";
if (date == null)
return "";
try {
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
return sdf.format(date);
} catch (Exception e) {
e.printStackTrace();
return "";
}
}

//cron表达式转为日期
public static Date getCronToDate(String cron) {
String dateFormat="ss mm HH dd MM ? yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
Date date = null;
try {
date = sdf.parse(cron);
} catch (ParseException e) {
return null;
}
return date;
}
}

public class Demo{
public static void main(String[] args) {
System.out.println(DateUtil.getCron(new Date()));
System.out.println(DateUtil.getCronToDate("0 0 2 3 12 ? 2012"));
}
}

执行结果

​12 05 22 29 07 ? 2020 Mon Dec 03 02:00:00 CST 2012​

时间戳与Date转换

package org.example.a;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo {
public static void main(String[] args) {
//获取当前时间戳
Long timeStamp = System.currentTimeMillis();
System.out.println(timeStamp);

// 时间戳转换成时间
Date date = new Date(timeStamp);
System.out.println(date);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sd = sdf.format(date);
System.out.println("date1: " + sd);

//获取当前时间
Date date2 = new Date();
String sd2 = sdf.format(date2);
System.out.println("date2: " + sd2);

//时间转化为时间戳
Long timeStamp2 = date2.getTime();
System.out.println(timeStamp2);
}
}

执行结果

1594038062627
Mon Jul 06 20:21:02 CST 2020
date1: 2020-07-06 20:21:02
date2: 2020-07-06 20:21:02
1594038062669

其他网址

​​Java 日期时间 | 菜鸟教程​​


举报

相关推荐

0 条评论