日期和时间模式(注意大小写,代表的含义是不同的):
yyyy:年MM:月dd:日hh:1~12小时制(1-12)HH:24小时制(0-23)mm:分ss:秒S:毫秒E:星期几D:一年中的第几天F:一月中的第几个星期(会把这个月总共过的天数除以7)w:一年中的第几个星期W:一月中的第几星期(会根据实际情况来算)a:上下午标识k:和HH差不多,表示一天24小时制(1-24)K:和hh差不多,表示一天12小时制(0-11)z:表示时区格式化时间(SimpleDateFormat)
import java.text.SimpleDateFormat;import java.util.Date;public class Main{public static void main(String[] args){Date date = new Date();String strDateFormat = "yyyy-MM-dd HH:mm:ss";SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);System.out.println(sdf.format(date));}}
以上代码运行输出结果为:
-03-27 21:13:23
获取当前时间
import java.text.SimpleDateFormat;import java.util.Date;public class Main{public static void main(String[] args){SimpleDateFormat sdf = new SimpleDateFormat();// 格式化时间 sdf.applyPattern("yyyy-MM-dd HH:mm:ss a");// a为am/pm的标记 Date date = new Date();// 获取当前时间 System.out.println("现在时间:" + sdf.format(date)); // 输出已经格式化的现在时间(24小时制) } }
以上代码运行输出结果为:
现在时间:-03-27 21:27:28 下午
获取年份、月份等
import java.util.Calendar;public class Main {public static void main(String[] args) {Calendar cal = Calendar.getInstance();int day = cal.get(Calendar.DATE);int month = cal.get(Calendar.MONTH) + 1;int year = cal.get(Calendar.YEAR);int dow = cal.get(Calendar.DAY_OF_WEEK);int dom = cal.get(Calendar.DAY_OF_MONTH);int doy = cal.get(Calendar.DAY_OF_YEAR);System.out.println("当期时间: " + cal.getTime());System.out.println("日期: " + day);System.out.println("月份: " + month);System.out.println("年份: " + year);System.out.println("一周的第几天: " + dow); // 星期日为一周的第一天输出为 1,星期一输出为 2,以此类推System.out.println("一月中的第几天: " + dom);System.out.println("一年的第几天: " + doy);}}
以上代码运行输出结果为:
当期时间: Fri Mar 27 21:44:15 CST 日期: 27月份: 3年份: 一周的第几天: 6一月中的第几天: 27一年的第几天: 86
时间戳转换成时间
import java.text.SimpleDateFormat;import java.util.Date;public class Main{public static void main(String[] args){Long timeStamp = System.currentTimeMillis(); //获取当前时间戳SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String sd = sdf.format(new Date(Long.parseLong(String.valueOf(timeStamp))));// 时间戳转换成时间System.out.println("格式化结果:" + sd);SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");String sd2 = sdf2.format(new Date(Long.parseLong(String.valueOf(timeStamp))));System.out.println("格式化结果:" + sd2);}}
以上代码运行输出结果为:
格式化结果:-07-10 12:17:34格式化结果: 年 07 月 10 日 12 时 17 分 34 秒