温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android 和Java API的一个坑:SimpleDateFormat

发布时间:2020-05-31 16:03:09 来源:网络 阅读:2429 作者:飞翔的猫咪 栏目:移动开发

今天上班遇到这么一个意料之外的异常:

Android 和Java API的一个坑:SimpleDateFormat

出问题的代码是这样的(已去除上下文信息):

Log.i(LOG_TAG, new SimpleDateFormat("YYYY-MM-dd HH:mm:ss", Locale.CHINA)
			.format(System.currentTimeMillis()));



反复检查,感觉没有问题,于是新建一个Java Project,直接输出同样的代码:

public class Main{
	public static void main(String[] args){
		System.out.println(new SimpleDateFormat("YYYY-MM-dd HH:mm:ss", Locale.CHINA)
		.format(System.currentTimeMillis()));
	}
}


得到的结果是这样的:

Android 和Java API的一个坑:SimpleDateFormat

感觉蹊跷,遂查阅Android API,在Java.text.SimpleDateFormat的描述表中,与Java SE 不同,对“年”的描述中,仅有"y",没有"Y"。当把代码中的"Y"替换为小写后,问题就解决了。

这便是API的不同的坑。以前也遇到过一些,但今天这个有些意外,以前没有注意过。总结:以后如果使用Java标准代码出现奇怪的问题,最好先查看Android API,以确保自己的调用方式是否正确和有效。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI