Questions tagged «simpledateformat»

SimpleDateFormat是一个具体的Java类,用于以对语言环境敏感的方式格式化和解析日期和时间。它允许格式化(日期->文本),解析(文本->日期)和规范化。

8
这个日期格式是什么?2011-08-12T20:17:46.384Z
我有以下日期: 2011-08-12T20:17:46.384Z。这是什么格式?我正在尝试通过Java 1.4解析它,DateFormat.getDateInstance().parse(dateStr)并且 java.text.ParseException:无法解析的日期:“ 2011-08-12T20:17:46.384Z” 我认为我应该使用SimpleDateFormat进行解析,但是我必须首先知道格式字符串。到目前为止yyyy-MM-dd,我所拥有的只是,因为我不知道T该字符串的含义是什么-与时区有关?此日期字符串来自“ 文件CMIS下载历史记录”媒体类型lcmis:downloadedOn上显示的标签。

3
将日期字符串解析为java.util.Date时,模式字符'T'不合法
我有一个日期字符串,我想使用java Date API将其解析为正常日期,以下是我的代码: public static void main(String[] args) { String date="2010-10-02T12:23:23Z"; String pattern="yyyy-MM-ddThh:mm:ssZ"; SimpleDateFormat sdf=new SimpleDateFormat(pattern); try { Date d=sdf.parse(date); System.out.println(d.getYear()); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 但是我有一个例外: java.lang.IllegalArgumentException: Illegal pattern character 'T' 所以我想知道是否必须拆分字符串并手动解析它? 顺便说一句,我试图在T的两侧添加一个单引号字符: String pattern="yyyy-MM-dd'T'hh:mm:ssZ"; 它也不起作用。

8
将字符串转换为Java中的日历对象
我是Java新手,通常使用PHP。 我正在尝试转换此字符串: 2011年3月14日星期一格林尼治标准时间16:02:37 放入Calendar对象,以便我可以像这样轻松地提取Year和Month: String yearAndMonth = cal.get(Calendar.YEAR)+cal.get(Calendar.MONTH); 手动解析它不是一个好主意吗?使用子串方法? 任何建议将帮助谢谢!

25
如何在Android中获取当前日期?
我写了下面的代码 Date d = new Date(); CharSequence s = DateFormat.format("MMMM d, yyyy ", d.getTime()); 但是问我参数,我想要字符串格式的当前日期, 喜欢 28-Dec-2011 这样我就可以设置了TextView, 解释一下,如果您认为有必要,我是Android开发的新手。



6
是否有日期格式可以用Java显示星期几?
我知道日期格式,例如 "yyyy-mm-dd"-以格式2011-02-26 "yyyy-MMM-dd"显示日期-以格式显示日期2011-FEB-26 用于例如: SimpleDateFormat formatter = new SimpleDateFormat( "yyyy/MMM/dd "); 我想要一种可以帮助我显示星期几之类的格式2011-02-MON。我只希望将星期几与月份和年份一起显示。你能告诉我这样的格式吗?

12
如何在我的约会中添加分钟
我有这个日期对象: SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd HH:mm"); Date d1 = df.parse(interviewList.get(37).getTime()); d1的值为 Fri Jan 07 17:40:00 PKT 2011 现在,我想在上述日期增加10分钟。 Calendar cal = Calendar.getInstance(); cal.setTime(d1); cal.add(Calendar.MINUTE, 10); String newTime = df.format(cal.getTime()); newTime更改的价值,2011-50-07 17:50 但应该是07-01-2011 17:50。 它可以正确地增加分钟,但它也会更改月份,不知道为什么!

9
同步访问SimpleDateFormat
SimpleDateFormat的Javadoc指出SimpleDateFormat没有同步。 “日期格式不同步。建议为每个线程创建单独的格式实例。如果多个线程同时访问一种格式,则必须在外部进行同步。” 但是,在多线程环境中使用SimpleDateFormat实例的最佳方法是什么。这是我想到的一些选项,我过去曾使用过选项1和2,但是我很想知道是否有更好的选择,或者这些选项中的哪一个可以提供最佳的性能和并发性。 选项1:在需要时创建本地实例 public String formatDate(Date d) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(d); } 选项2:将SimpleDateFormat的实例创建为类变量,但同步对其的访问。 private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); public String formatDate(Date d) { synchronized(sdf) { return sdf.format(d); } } 选项3:创建一个ThreadLocal来为每个线程存储一个不同的SimpleDateFormat实例。 private ThreadLocal<SimpleDateFormat> tl = new ThreadLocal<SimpleDateFormat>(); public String formatDate(Date d) { SimpleDateFormat sdf = …


10
SimpleDateFormat和基于语言环境的格式字符串
我试图根据给定的语言环境以不同的方式格式化Java中的日期。例如,我希望英语用户看到“ 2009年11月1日”(格式为“ MMM d,yyyy”),而挪威用户希望看到“ 1. nov。2009”(“ d。MMM。yyyy”)。 如果我将语言环境添加到SimpleDateFormat构造函数中,则月份部分工作正常,但是其余部分呢? 我希望可以将与语言环境配对的格式字符串添加到SimpleDateFormat中,但是找不到任何方法。有可能还是我需要让我的代码检查语言环境并添加相应的格式字符串?


1
在SimpleDateFormat模式字符串中使用字母字符
是否可以在SimpleDateFormat模式字符串中包含字母字符? 我试图创建一个格式字符串,例如在时间之前包括字母“ T”: 2003-11-15 T 09:30:47-05:00。 我目前正在使用yyyy-MM-ddhh:mm:ssZ作为模式字符串。 如果我将其更改为yyyy-MM-ddThh:mm:ssZ它,则会抛出异常,因为保留了“ A”至“ Z”和“ a”至“ z”。 是否有不涉及使用两个DateFormat的解决方案?

8
日期格式化后以小写形式显示AM和PM
格式化日期时间后,时间以大写形式显示AM或PM,但我希望以小写形式显示,例如am或pm。 这是我的代码: public class Timeis { public static void main(String s[]) { long ts = 1022895271767L; String st = null; st = new SimpleDateFormat(" MMM d 'at' hh:mm a").format(ts); System.out.println("time is " + ts); } }

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.