SimpleDateFormat 把玩

本文通过实验对比了SimpleDateFormat中getDateInstance()与直接new的方式在日期格式化上的差异。结果显示两者输出不同,前者依赖默认区域设置,后者则更具灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这周比较忙没有尝试新东西,在多个项目中看到这样的警告:To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates. Issue: Using SimpleDateFormat directly without an explicit locale Id: SimpleDateFormat     Almost all callers should use getDateInstance(), 

简单来说就是建议使用getDateInstance()代替new;不敢在项目中乱来 ,忙里偷闲new了一个class进行体验,到底两种方式能不能达到相同的效果  ,首先说结果是不同的  ,如果getDateInstance()的效果能达到要求  就用getDateInstance()吧 ,如果能就new 自己设定样式这是代码  

package servlet;

import java.text.SimpleDateFormat;
import java.util.Locale;
/**
 * 试验:关于SimpleDateFormat.getDateInstance().format(System.currentTimeMillis());代替new  的方案 
 *   s  2016-06-17 05:29
	s1 2016-6-17
    s2 2016-6-17 17:29:00
 * @author Administrator
 *
 */
public class TestDate {
	public static void main(String args[]) {
		Locale aLocale = Locale.getDefault();
		SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd hh:mm");
		String date = s.format(System.currentTimeMillis());
		System.out.println("s  "+date);
		String s1 = SimpleDateFormat.getDateInstance().format(System.currentTimeMillis());
		String s2 = SimpleDateFormat.getDateTimeInstance().format(System.currentTimeMillis());
		System.out.println("s1 "+s1);
		System.out.println("s2 "+s2);
		
	}
}

这是打印结果

s  2016-06-17 05:29
s1 2016-6-17
s2 2016-6-17 17:29:00


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值