SimpleDateFormat - 您是否需要使用RegEx?
我有下面的代码,这会产生这样的:SimpleDateFormat - 您是否需要使用RegEx?
2012-07-28 17:30:23
这就是我想要的。但是,如果我想提取所有数字以自己分配给变量,是否需要创建RegEx或者是否有一些方法可以简单地从SimpleDateFormat中提取这些数据?
SimpleDateFormat dateFormatUCT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormatUCT.setTimeZone(TimeZone.getTimeZone("UCT"));
//Time in UCT
String date = dateFormatUCT.format(new Date());
System.out.println(date);
你有一个日期。如果转换为GregorianCalendar,每场问GregorianCalendar的:
GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("UCT")); // or UTC?
cal.setTime(theDate); // if you want something other than the current date
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1; // months start at 0, duh!
...
为什么一个月+ 1? 0 = Calendar.JANUARY – Reimeus 2012-07-28 18:01:01
因为如果他想要格式化的日期字符串中的相同数字,他希望1月份(因为除了GregorianCalendar的设计师想要的世界上的每个人)。 – 2012-07-28 18:02:38
你并不需要一个正则表达式。您只需将日期提供给日历,然后使用get()
方法获取每个字段。
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
c.setTime(new Date());
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH));
System.out.println(c.get(Calendar.DATE));
等
这是否允许您获得时间和秒数? – 2012-07-28 17:42:54
当然可以。你为什么不检查javadoc? – 2012-07-28 17:44:01
不能从SimpleDateFormat
提取它们AFAIK,但你可以使用Java.util.Calendar
使用其get(Calendar.{DAY_OF_MONTH|MONTH|YEAR|HOUR|MINUTE|SECOND})
法提取日期组件。 Calendar
对象提供了一个采用日期的方法setTime()
。因此,您可以使用相同的日期格式使用SimpleDateFormat
并使用Calendar
来提取日期组件。
使用split()
方法
2.做这样的......
String s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String[] arr = s.split(" ");
String newDStr = arr[0];
String newTStr = arr[1];
String[] DateArr = newDStr.split("-"); // Holds Date values.
String[] TimeArr = newTStr.split(":"); // Holds Time values
这就是我目前所做的。但是这似乎还有很长的路要走。这是同时获得时间和日期的最快方法吗? – 2012-07-28 17:43:21
不知道最快,但这是建设逻辑的好东西......他他.... – 2012-07-28 17:44:36
要分配给variable..can什么号码,你请包括一个例子 – 2012-07-28 17:34:33
看看['parse()'](http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html#parse%28java.lang.String,%当您只有日期的字符串表示形式时,SimpleDateFormat的方法是20java.text.ParsePosition%29)。 – nkr 2012-07-28 17:38:58