采用的版本如下:
基于joda-time进行date format的操作代码如下:
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
String pattern = "yyyy-MM-dd hh:mm:ss";
DateTime dateTime = new DateTime(calendar);
String dateStr = dateTime.toString(pattern);
LOGGER.info("dateStr:" + dateStr);
DateTime date = DateTimeFormat.forPattern(pattern).parseDateTime(dateStr);
LOGGER.info("date:" + date.toDate());
根据pattern创建DateTimeFormatter :
public static DateTimeFormatter forPattern(String s)
{
return createFormatterForPattern(s);
}
具体的创建过程:
private static DateTimeFormatter createFormatterForPattern(String s)
{
if(s == null || s.length() == 0)
throw new IllegalArgumentException("Invalid pattern specification");
DateTimeFormatter datetimeformatter = null;
synchronized(cPatternedCache)
{
datetimeformatter = (DateTimeFormatter)cPatternedCache.get(s);
if(datetimeformatter == null)
{
DateTimeFormatterBuilder datetimeformatterbuilder = new DateTimeFormatterBuilder();
parsePatternTo(datetimeformatterbuilder, s);
datetimeformatter = datetimeformatterbuilder.toFormatter();
cPatternedCache.put(s, datetimeformatter);
}
}
return datetimeformatter;
}
也就是先根据pattern从map中获取,如果没有的话那么build
那么我们看DateTimeFormatter是否线程安全的?
private final DateTimePrinter iPrinter;
private final DateTimeParser iParser;
private final Locale iLocale;
private final boolean iOffsetParsed;
private final Chronology iChrono;
private final DateTimeZone iZone;
private final Integer iPivotYear;
private final int iDefaultYear;
没有static 符合线程安全条件,那么同样是线程安全的
分享到:
相关推荐
这两种库都大大简化了日期格式化的操作,特别是在处理各种复杂格式时。 此外,JavaScript ES2015引入了模板字符串,使字符串拼接更加简洁。如果使用模板字符串,上述示例可以写得更加直观: ```javascript var ...
DateFormat Date Format是一个日期格式化的库. 提供的全局的接口DateFormat(DF).支持中文、英文 日期格式化 DateFormat 使用: 格式化依据的字符串关键字 可以是一下字符组合: y M d H h a ap A AP m s z % 例如: ...
在项目 `felixge-node-dateformat-4944c41` 中,我们可以找到该模块的源代码和相关资源。 在 Node.js 中,原始的 `Date` 对象虽然能进行基本的日期操作,但其格式化的功能相对较弱。`dateformat` 模块则弥补了这一...
用于转换时间格式, 使用步骤:一. DateFormat dateFormat = new DateFormat();... String timeString=dateFormat.DateFormat("yyyy-MM-dd HH:m:s",time); 参数1:填写需要的格式 参数2:填写需要改变的时间
摘自史蒂文(Steven)的帖子,对其进行了修改以匹配上面列出的修改: var dateFormat = require ( "dateformat" ) ; var now = new Date ( ) ; // Basic usage dateFormat ( now , "dddd, mmmm dS, yyyy, h:MM:ss ...
1. **同步**:最直接的方法是在`convert`方法中对`format`对象使用`synchronized`关键字,确保同一时间只有一个线程能执行格式化操作。这样虽然可以保证线程安全,但可能会增加线程之间的等待时间,从而降低并发性能...
composer require techouse/intl-date-time 用法 API 改编自 。 该模块本身提供了一些可选配置: 语言环境-可选-设置模块的语言环境。 如果你不这样做,它会自动使用你的应用程序的config('app.locale') 。 如果您...
jquery datepicker 的中文包 调用方法 <script src="./public/js/jquery-ui-1.10.3.min.js"> ...$( "#datepicker" ).datepicker({dateFormat:"yy-mm-dd",regional:$.datepicker.regional['zh-CN']});
jquery-dateFormat, 使用JavaScript格式化日期输出的jQuery插件 使用JavaScript格式输出日期输出的jQuery dateformat插件- 拥有的,jQuery是最小的日期格式库。 ! 安装下载最新的jquery.dateFormat.js 或者 jquery....
在SQL(Structured Query Language)中,处理日期和时间数据是常见的操作。`DATEFORMAT`一词通常与数据库查询中的日期格式化相关,特别是在某些数据库系统中。然而,需要注意的是,在标准SQL中并没有`DATEFORMAT`这...
在实际开发中,除了这些基础的日期时间操作外,开发者还会使用`Calendar`类进行更复杂的日期计算,或者使用Joda-Time库(在Java 8之前,Joda-Time提供了比`java.util.Date`更友好的API)和Java 8引入的`java.time`包...
在Java编程语言中,`DateFormat`是用于格式化日期和时间的重要类,它属于`java.text`包。然而,`DateFormat`并不是线程安全的,这意味着在多线程环境中直接使用可能会导致数据不一致或者异常。这篇博客文章《Java ...
调用该类中的方法,实现字符串于日期类型之间的转换,以及包括数据库中的日期类型,避免了代码的重复.
例如,如果你想要将日期格式化为"yyyy-mm-dd",可以这样操作: ```javascript $(document).ready(function() { var date = new Date(); var formattedDate = $.dateFormat(date, "yyyy-mm-dd"); $("#dateElement...
在Java编程中,处理日期与时间是非常常见的需求之一。`java.util`包中的`DateFormat`类提供了多种方法来格式化日期并将其转换为字符串,或者将字符串解析为日期对象。这对于数据展示、数据库操作以及用户界面交互等...
你可以根据需求调整这些值,以便于用户理解和操作。 除了基本的日期格式,`timepicker`还可能支持更多高级特性,比如时间间隔选择、时间范围限制、默认值设定等。例如,如果你希望时间选择只能以半小时为单位,可以...
带时间的jquery日历控件 调用方法: <script src="./public/js/jquery-ui-1.10.3...$( "#datetimepicker" ).datetimepicker({dateFormat:"yy-mm-dd",timeFormat:"HH:mm:ss",regional:$.datepicker.regional['zh-CN']});
标题中的"DateFormat_Dateformat_"可能是指在编程中处理日期格式化时使用特定的分隔符“-”来组织日期字符串。在很多编程语言中,日期和时间的格式化是通过特定的方法或函数来完成的,这通常涉及到指定日期的各个...
//preset: 'date', //日期类型--datatime --time, //theme: 'ios', //皮肤其他参数【android-ics light】【android-ics】【ios】【jqm】【sense-ui】【sense-ui】【sense-ui】 //【wp light】【wp】 //mode: ...
如果必须复用`DateFormat`实例,可以通过同步机制来控制对它的访问。然而,这将降低并行性能,因为所有线程需要排队执行格式化操作。 4. **使用`SimpleDateFormat`的替代品**: Java 8 引入了`java.time.format....