SimpleDateFormat值有哪些
时间: 2023-07-22 14:11:16 浏览: 40
SimpleDateFormat类是Java中用于格式化和解析日期的类。它提供了一些预定义的模式(pattern)来表示日期和时间的格式。
以下是一些常用的SimpleDateFormat模式:
- "yyyy-MM-dd":表示年份-月份-日期,例如:2021-01-01。
- "yyyy/MM/dd":表示年份/月份/日期,例如:2021/01/01。
- "dd/MM/yyyy":表示日期/月份/年份,例如:01/01/2021。
- "yyyy-MM-dd HH:mm:ss":表示年份-月份-日期 小时:分钟:秒,例如:2021-01-01 12:00:00。
- "HH:mm:ss":表示小时:分钟:秒,例如:12:00:00。
以上仅是一些常见的模式,SimpleDateFormat还支持其他更多的模式,可以根据具体需求自定义日期和时间的格式。在使用SimpleDateFormat时,可以使用模式字符串作为构造函数的参数来创建一个SimpleDateFormat对象,并使用其format()方法将日期格式化为字符串,或使用其parse()方法将字符串解析为日期对象。
相关问题
Simpledateformat
SimpleDateFormat 是 Java 中的一个日期格式化类,它可以将 Date 对象格式化为指定格式的字符串,也可以将字符串解析为 Date 对象。SimpleDateFormat 中的格式化字符串由一系列日期和时间格式化符号组成,例如 yyyy 表示年份,MM 表示月份,dd 表示日期,HH 表示小时,mm 表示分钟,ss 表示秒等等。例如,以下代码将当前时间按照指定格式进行格式化:
```
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(new Date());
```
在这个例子中,formattedDate 的值将会是当前时间按照 "yyyy-MM-dd HH:mm:ss" 格式进行格式化后得到的字符串。我们也可以将字符串解析为 Date 对象,例如:
```
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2022-07-01 10:30:00");
```
在这个例子中,将字符串 "2022-07-01 10:30:00" 解析为一个 Date 对象,并将其赋值给变量 date。
SimpleDateFormat 全局
你可以使用 Java 中的 ThreadLocal 类来实现 SimpleDateFormat 的全局共享。ThreadLocal 可以为每个线程单独创建一个 SimpleDateFormat 对象,避免了线程安全问题。
你可以在应用程序启动时创建一个 ThreadLocal 对象,并将 SimpleDateFormat 对象作为其初始值。然后在需要使用 SimpleDateFormat 的地方,从 ThreadLocal 中获取 SimpleDateFormat 对象。
下面是一个示例代码:
```
public class SimpleDateFormatUtil {
private static final ThreadLocal<SimpleDateFormat> dateFormatThreadLocal = new ThreadLocal<SimpleDateFormat>() {
@Override
protected SimpleDateFormat initialValue() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
};
public static SimpleDateFormat getSimpleDateFormat() {
return dateFormatThreadLocal.get();
}
}
```
在需要使用 SimpleDateFormat 的地方,可以使用以下代码获取 SimpleDateFormat 对象:
```
SimpleDateFormat dateFormat = SimpleDateFormatUtil.getSimpleDateFormat();
```
这样,每个线程都可以获取到自己的 SimpleDateFormat 对象,而不会影响其他线程。