format方法:
- 格式化模式
format方法中的“格式化模式”是一个用双引号括起的字符序列,该字符序列中的字符由时间格式符和普通字符所构成。例如 假设当前时间是 2016/10/1:
Date nowTime = new Date(); String s1 = String.format("%tY年%tm月%td日",nowTime,nowTime,nowTime); String s2 = Stirng.format("%tF",nowTime);
s1的字符序列就是 “2016年10月01日”,s2的字符序列就是“2016-10-01”
2.日期列表
format方法中的“日期列表”可以是用逗号分隔的Calendar对象或Date对象。要保证format方法“格式化模式”中的格式符的个数与“日期列表”中列出的日期个数相同。format方法默认从左到右的顺序使用“格式化模式“中的格式符来格式”日期列表“中对应的日期,而”格式化模式“中的普通字符保留原样。
3.格式化同一日期
希望用几个格式符号格式”日期列表“中的同一日期,可以在”格式化模式“中使用 ”<" ,例如“%tY-%<tm-%<td"中的三个格式符将格式化同一日期,既含有"<"的格式符和它前面的格式符格式同一个日期, 例如(假设当前机器时间是2016年10月1日);
String str1 = String.format("%tY年%<tm月%<td日",nowTime); String str2 = String.format("%tY-%<tm-%<td",nowTime);
那么%<tm和%<td都格式化nowTime,因此String对象str1和str2的字符序列分别是 ”2016年10月01日“ 和 ”2016-10-01“
%tY 将日期中的“年”格式化为4位形式,例如:1999,2000
%ty 将日期中的“年”格式化为2位形式(带前导零),例如:99,00
%tm 将日期中的“月”格式化为2位形式(带前导零),即:01~13,其中“01”是一年的第一个月(“13”是支持阴历所需的一个特殊值)
%tp 将日期中的“日”格式化为当前环境下上午、下午的表示格式,例如:(US环境)“am”、“pm”。
%td 将日期中的“日”格式化为当前月中的天(带前导零),即01~31,“01”是一个月中的第一天
%tj 将日期中的“日”格式化为当年的天数(带前导零),即001~365,“001”是一个年中的第一天
%tB 将日期中的“月”格式化为当前环境下的月份全称,例如:(US环境)“January”、“February”。
%tb将日期中的“月”格式化为当前环境下的月份简称,例如:(US环境)“Jan”、“Feb”。
%tA 将日期中的“日”格式化为当前环境下的星期几的全称,例如:“Sunday”、“Monday”。
%ta 将日期中的“日”格式化为当前环境下的星期几的简称,例如:“Sun”、“Mon”。
%tH 将日期中的“时”格式化为2位数形式(带前导零,24小时制),即00~23(00对应午夜)
%tI 将日期中的“时”格式化为2位数形式(带前导零,12小时制),即01~12(01对应上午或者下午一点钟)
%tM将日期中的“分”格式化为2位形式(带前导零),即:00~60,“00”是支持闰秒所需的一个特殊值
%tS将日期中的“秒”格式化为2位形式(带前导零),即:00~60
%tL将日期中的“毫秒”格式化为3位形式(带前导零),即:000~999
%tN将日期中的毫秒中的“微秒”格式化为9位形式(带前导零),即:000000000~999999999
%tz将日期与GMT(格林威治时间)的偏移量格式化为4位形式,例如:+0800,-0600
%tZ将日期所在时区的名称格式化为标准缩写,例如:CST
另外,还有一些代表几个日期格式符组合在一起的日期格式符
%tR=%tH:%tM
%tT=%tH:%tM:%S
%tr=%tI:%tM:%tS%Tp(上午或者下午标记的%Tp位置可能与地区有关)
%tD=%tm%td%ty
%tF=“%tY-%tm-%td”
%tc=“%ta%tb%td%tT%tZ%tY”(例子:星期四 二月 10 17:50:07 CST 2011)
题目描述
小蓝要和朋友合作开发一个时间显示的网站。
在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。
现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。
给定一个用整数表示的时间,请将这个时间对应的时分秒输出
输入描述
输入一行包含一个整数,表示时间
输出描述
输出时分秒表示的当前时间,格式形如 HH:MM:SS
,其中 HH
表示时,值为 0 到 23,MM
表示分,值为 0 到 59,SS
表示秒,值为 0 到 59。时、分、秒 不足两位时补前导 0。
示例 1
输入
46800999
输出
13:00:00
示例 2
输入
1618708103123
输出
01:08:23
import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改 public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); long n=scan.nextLong(); scan.close(); long hh=0; long mm=0; long ss=0; n/=1000; ss=n%60; n/=60; mm=n%60; n/=60; hh=n%24; System.out.println(String.format("%02d",hh)+":"+String.format("%02d",mm)+":"+String.format("%02d",ss)); } }
标签:00,01,格式化,format,日期,前导,------,java From: https://www.cnblogs.com/mcpf/p/17052010.html