精确到秒也真的毫无必要,因此随手搜了一下相关 Solution1(实际使用时删掉下面代码中的星号)
(DateFormat.java:355) -125744830738000 -61916917138000 -61916917138000 at com.tiza.ngp.rp.sanhui.util.Utils...二、简单分析 public abstract class DateFormat extends Format { /** * The {@link Calendar} instance...* @serial */ protected Calendar calendar; ... } DateFormat类使用了Calendar对象来维护parse和...format过程中的日期时间值,当多线程同时使用同一个DateFormat对象,也就是多线程同时使用同一个Calendar对象来维护parse或format过程的日期时间值,必定会发生错乱。...三、解决方案 使用中要么为每个线程创建一个DateFormat实例,要么对其外部加锁。
二、DateFormat类 1.DateFormat类是把日期格式化转换成字符串。在Date类中表示日期和时间,打印时会默认时英文格式输出日期和时间,当转换成中文格式就需要DateFormat类。...DateFormat类也是抽象类,不可以实例化。可以通过静态方法得到DateFormat类的实例对象。 2.DateFormat类的常用方法有: ?...f,l,m,s; //Full格式 f=DateFormat.getDateInstance(DateFormat.FULL); //Long格式...l=DateFormat.getDateInstance(DateFormat.LONG); //medium格式 m=DateFormat.getDateInstance...(DateFormat.MEDIUM); //short格式 s=DateFormat.getDateInstance(DateFormat.SHORT);
Date DateFormat 以及Calendar类的简单认识 Date类 Date:表示特定的瞬间,精确到毫秒。...System.out.println("d2:" + d2); } } //运行结果 d1:Mon Jun 10 22:02:00 CST 2019 d2:Mon Jun 10 22:02:00 CST 2019 DateFormat...DateFormat.jpg Date → String(格式化) //(这个是具体子类SimpleDateFormat的父类DateForamt中的一个方法) Public final String...format(Date date) String→ Date(解析) parse () public Date parse(String source) DateFormat: 可以进行日期和字符串的格式化和解析...*/ package cn.bwh_02_DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class
既然这个方法被DateFormat.format(Date date) 取代,那么就要去查阅DateFormat类。...1.2 DateFormat类 1.2.1 概念 DateFormat是用于日期格式化类,即将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。...DateFormat是抽象类,我们需要使用其子类SimpleDateFormat。...*DateFormat是抽象类,我们需要使用其子类SimpleDateFormat。...对象 //使用默认格式创建格式化对象 // DateFormat df = new SimpleDateFormat(); //使用指定格式创建格式化对象 DateFormat df = new SimpleDateFormat
DateFormat类(国际化日期) DateFormat 类可以将一个日期/时间对象格式化为表示某个国家地区的日期/时间字符串。...df1 = DateFormat.getDateInstance(DateFormat.FULL); // DateFormat df1 = DateFormat.getDateInstance(...DateFormat.LONG); // DateFormat df1 = DateFormat.getDateInstance(DateFormat.MEDIUM); DateFormat df1...DateFormat df2 = DateFormat.getTimeInstance(DateFormat.FULL); // DateFormat df2 = DateFormat.getTimeInstance...(DateFormat.LONG); // DateFormat df2 = DateFormat.getTimeInstance(DateFormat.MEDIUM); // DateFormat
(); String myString = dateFormat.format(date); System.out.println(myString); 风格化: DateFormat dateFormat...= DateFormat.getDateInstance(DateFormat.FULL); DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL...); dateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL); Class DateFormat...dateFormat = DateFormat.getDateInstance(DateFormat.FULL); dateFormat = DateFormat.getDateTimeInstance...(); String mydate = "2018年-10月-10日"; DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG
import java.text.DateFormat; import java.util.Date; import java.util.Locale; public class FormatDate...{ public static void main(String[] args) { Date date = new Date(); DateFormat formater...= DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA); // 中国日期...(date)); // 日本日期 formater = DateFormat.getDateInstance(DateFormat.FULL,...(date)); // 德国日期 formater = DateFormat.getDateInstance(DateFormat.FULL,
格式化日期需要两步: 1、通过DateFormat.getDateInstance() 获取一个DateFormat对象。...2、调用DateFormat对象的format方法返回一个String类型的日期。...话不多说看代码: DateFormat dateInstance = DateFormat.getDateInstance(); System.out.println(dateInstance.format...()实例只能够获取年月日信息,如果想要获取时间信息要使用DateFormat.getTimeInstance() 实例,DateFormat.getTimeInstance()使用的常量参数和DateFormat.getDateInstance...dateInstance = DateFormat.getDateInstance(DateFormat.LONG); DateFormat timeInstance = DateFormat.getTimeInstance
strDate = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT).format(date); System.out.println...(strDate); // Mar 2, 2012 11:06:36 PM strDate = DateFormat.getDateTimeInstance(DateFormat.SHORT,...(DateFormat.MEDIUM, DateFormat.MEDIUM).format(date); System.out.println(strDate); // Mar 2, 2012 11...:06:36 PM strDate = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(date);...(DateFormat.FULL, DateFormat.FULL).format(date); System.out.println(strDate); // Friday, March 2,
= dateFormat.format(date); System.out.println(myString); 风格化: DateFormat dateFormat = DateFormat.getDateInstance...(DateFormat.FULL); DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL); dateFormat =...DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL); Class DateFormat Demo案例: import java.text.DateFormat...dateFormat = DateFormat.getDateInstance(DateFormat.FULL); dateFormat = DateFormat.getDateTimeInstance...(); String mydate = "2018年-10月-10日"; DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG
结果示意图: A:DateFormat类的概述 * DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。...parse(String source) * @throws ParseException 案例代码 package com.fenxiangbe.regex; import java.text.DateFormat...类的概述 * DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。...df = new DateFormat();//会报错,dateformat是抽象类不能创建对象 //DateFormat df = new SimpleDateFormat();//父类引用指向子类对象...DateFormat df = DateFormat.getDateInstance();//相当于父类引用指向子类对象,右边的返回一个子类对象 } }
++ 表示连接两个集合 ::: 该方法只能用于连接两个list类型的集合 2.日期操作(经常用到,所以记录下) 获取今天0点时间戳 12val dateFormat = new SimpleDateFormat...("yyyy-MM-dd")val cur = dateFormat.parse(dateFormat.format(new Date())).getTime 日期格式转时间戳 123val dateFormat...= new SimpleDateFormat("yyyy-MM-dd")//val dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss")val...timestamp = dateFormat.parse(dateFormat.format(new Date())).getTime 时间戳转日期 12val dateFormat = new...SimpleDateFormat("yyyy-MM-dd")val date = dateFormat.format(new Date()) 3.删除目录或文件 123456789101112131415161718
(DateFormat.java:335) at com.peidasoft.orm.dateformat.DateNoStaticUtil.parse(DateNoStaticUtil.java...(DateFormat.java:335) at com.peidasoft.orm.dateformat.DateNoStaticUtil.parse(DateNoStaticUtil.java...下面我们通过看JDK源码来看看为什么SimpleDateFormat和DateFormat类不是线程安全的真正原因: SimpleDateFormat继承了DateFormat,在DateFormat...= new ThreadLocalDateFormat>() { @Override protected DateFormat initialValue() {...> threadLocal = new ThreadLocalDateFormat>(); public static DateFormat getDateFormat() {
sequence; private final int maxDigits; private static final ThreadLocal LOCAL_DATEFORMAT...默认 * @author Surpass * @date 2021/6/15 16:45 */ public IDUtil() { LOCAL_DATEFORMAT.set...author Surpass * @date 2021/6/15 16:45 */ public IDUtil(String format) { LOCAL_DATEFORMAT.set...author Surpass * @date 2021/6/15 16:45 */ public IDUtil(int sequence) { LOCAL_DATEFORMAT.set...*/ public String generatedNoByFormatDate(String machine){ String formatDate = LOCAL_DATEFORMAT.get
InitBinder protected void initDateFormatBinder(WebDataBinder binder) { SimpleDateFormat dateFormat...SimpleDateFormat("yyyy-MM-dd"); binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat...CustomDateEditor 里源码 public class CustomDateEditor extends PropertyEditorSupport { private final DateFormat...dateFormat; private final boolean allowEmpty; private final int exactDateLength; public...CustomDateEditor(DateFormat dateFormat, boolean allowEmpty) { this.dateFormat = dateFormat;
常用类 4 Date类和DateFormat类 我们把1970年1月1日00:00:00 定为基准时间 Date类 大部分方法已过时,不常用 package oop2.date; /* Date中的三个类...类 日期格式化的类 package oop2.date; /* 作用:格式化日期类 */ import java.text.DateFormat; import java.text.ParseException...dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); // 也可以: yyyy年MM月dd日 hh:mm:ss // DateFormat...dateFormat2 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss"); //调用格式方法 String format = dateFormat.format...dateFormat1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //转的格式和string的格式要一致 Date parse = dateFormat1
DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA)= \t"+ s1); f1 = DateFormat.getDateInstance...类显示各种日期格式 DateFormat.getDateInstance()= 2003-5-2 DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA...)= 2003年5月2日 DateFormat.getDateInstance(DateFormat.MEDIUM,Locale.CHINA)= 2003-5-2 DateFormat.getDateInstance...(DateFormat.SHORT,Locale.CHINA)= 03-5-2 用DateFormat类显示各种时间格式 DateFormat.getTimeInstance()= 13:29:32...DateFormat.getTimeInstance(DateFormat.LONG,Locale.CHINA)= 下午01时29分32秒 DateFormat.getTimeInstance(DateFormat.MEDIUM
public static int timeCompare(String time1, String time2) { int result = 1; DateFormat...HH:mm:ss"); Calendar calendar = Calendar.getInstance(); calendar.setTime(dateFormat.parse...(specialDate)); calendar.add(Calendar.DATE, day); return dateFormat.format(...StringCheck.isN(date)) { return null; } try { SimpleDateFormat dateFormat...(date)); return dateFormat.format(calendar.getTime()); } catch (Exception ex) {