Java日期
Java日期
导入包:
import java.util.Date;
1.获取当前日期
import java.util.Date;
public class Test{
public static void main(String args[])
{
//初始化 Date 对象
Date a=new Date();
//使用 toString() 函数显示日期时间
System.out.println(a.toString());
}
}
2.使用SimpleDateFormat格式化日期
package ab;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String args[])
{
SimpleDateFormat a=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //------------------(1)
Date b=new Date();
System.out.print("当前日期格式化:" + a.format(b)); //----------------------(2)
}
}
运行结果为:
当前日期格式化:2020-11-14 16:55:55
-
题中(1):yyyy表示四位年份,MM表示月份,dd表示日期,hh、mm、ss是时、分、秒
-
可以只写一个,如:"y—M-d hⓂ️s",如下面格式也可以输出相同值
-
题中(2):注意调用格式,a.format(b)
其他格式化
package ab;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test { public static void main(String args[])
{
Date n=new Date();
SimpleDateFormat x0=new SimpleDateFormat("y-M-d H:m:s");//可以只写一个
System.out.print("当前日期格式化:" + x0.format(n));
//输出样式为: 当前日期格式化:2020-11-14 17:8:15
SimpleDateFormat x1=new SimpleDateFormat("E");//E描述星期几
System.out.print("当前日期格式化:" + x1.format(n));
//输出样式为: 当前日期格式化:星期六
SimpleDateFormat x2=new SimpleDateFormat("H:m:s:S");//S描述毫秒
System.out.print("当前日期格式化:"+x2.format(n));
//输出样式为: 当前日期格式化:17:9:55:300
SimpleDateFormat x3=new SimpleDateFormat("D");//D描述一年中的第几天
System.out.print("当前日期格式化:"+x3.format(n));
//输出样式为: 当前日期格式化:319
SimpleDateFormat x4=new SimpleDateFormat("F");//F描述为一个月的第几周
System.out.print("当前格式化为:"+x4.format(n));
//输出样式为: 当前日期格式化:2
SimpleDateFormat x5=new SimpleDateFormat("w");//小写的w描述一年中的第几周
System.out.print("当前格式化为:"+x5.format(n));
//输出样式为: 当前格式化为:46
SimpleDateFormat x6=new SimpleDateFormat("a");//a描述AM/PM标记
System.out.print("当前格式化为:"+x6.format(n));
//输出样式为: 当前格式化为:下午
SimpleDateFormat x7=new SimpleDateFormat("k");//小写的k描述现在是第几个小时(0~23)
System.out.print("当前格式化为:"+x7.format(n));
//输出样式为: 当前格式化为:17
SimpleDateFormat x8=new SimpleDateFormat("K");//大写的K描述现在是上午或者下午的第几个小时(0~11)
System.out.print("当前格式化为:"+x8.format(n));
//输出样式为: 当前格式化为:5
SimpleDateFormat x9=new SimpleDateFormat("z");//z描述时区
System.out.print("当前格式化为:"+x9.format(n));
//输出样式为: 当前格式化为:CST
}
}
Java System.out.printf格式化输出日期
使用printf格式化日期
package ab;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test { public static void main(String args[])
{
Date n=new Date();
//使用printf格式化日期
System.out.printf("当前格式化为:%tc%n",n);//c
//输出样式为: 当前格式化为:星期六 十一月 14 17:40:13 CST 2020
System.out.printf("当前格式化为:%tF%n",n);//F
//输出样式为: 当前格式化为:2020-11-14
System.out.printf("当前格式化为:%tD%n",n);//D
//输出样式为: 当前格式化为:11/14/20
System.out.printf("当前格式化为:%tR%n",n);//R
//输出样式为: 当前格式化为:17:44
System.out.printf("当前格式化为:%tT%n",n);//T
//输出样式为: 当前格式化为:17:44:07
System.out.printf("当前格式化为:%tr%n",n);//r
//输出样式为: 当前格式化为:05:44:07 下午
}
}
利用一个格式化字符串指出要被格式化参数的索引
package ab;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test { public static void main(String args[])
{
Date n=new Date();
System.out.printf("%1$s %2$tB %2$td, %2$tY","当前日期为:",n);
//第二个printf里有三个参数,分别是0:我们指定的格式内容、1:“Due date”、2:today。
//索引是这三个参数对应不同序号的内容,而必须在%和$之间。
//例如:%1$s , %到$中间的1,表示第一个参数:“当前日期为”,%s是字符串
// %2$tB %2$td, %到$中间的2,表示第二个参数:n ,
// $后面是我们指定的格式,由t和格式字符组成。如B描述月
}
}
- 或者可以使用<标志,它表明先去被格式化的参数要被再次使用
import java.util.Date;
public class DateDemo {
public static void main(String args[]) {
// 初始化 Date 对象
Date date = new Date();
// 显示格式化时间
System.out.printf("%s %tB %<te, %<tY",
"Due date:", date);
}
}
日期转换符如图
import java.util.*;
public class DateDemo {
public static void main(String args[]) {
Date date=new Date();
//b的使用,月份简称
String str=String.format(Locale.US,"英文月份简称:%tb",date);
System.out.println(str);
System.out.printf("本地月份简称:%tb%n",date);
//B的使用,月份全称
str=String.format(Locale.US,"英文月份全称:%tB",date);
System.out.println(str);
System.out.printf("本地月份全称:%tB%n",date);
//a的使用,星期简称
str=String.format(Locale.US,"英文星期的简称:%ta",date);
System.out.println(str);
//A的使用,星期全称
System.out.printf("本地星期的简称:%tA%n",date);
//C的使用,年前两位
System.out.printf("年的前两位数字(不足两位前面补0):%tC%n",date);
//y的使用,年后两位
System.out.printf("年的后两位数字(不足两位前面补0):%ty%n",date);
//j的使用,一年的天数
System.out.printf("一年中的天数(即年的第几天):%tj%n",date);
//m的使用,月份
System.out.printf("两位数字的月份(不足两位前面补0):%tm%n",date);
//d的使用,日(二位,不够补零)
System.out.printf("两位数字的日(不足两位前面补0):%td%n",date);
//e的使用,日(一位不补零)
System.out.printf("月份的日(前面不补0):%te",date);
}
}