java 如何将2003-07-16T01:24:32Z格式转换成日期格式年月日时分秒的格式。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何将2003-07-16T01:24:32Z格式转换成日期格式年月日时分秒的格式。相关的知识,希望对你有一定的参考价值。

String timestamp = “2003-07-16T01:24:32Z”;
Date date = new Date(timestamp);
SimpleDateFormat fomat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String mydate = fomat2.format(date);
试试这个追问

这个不行,求给一个正确的。谢谢~

追答

最简单的方法:
String date = "2003-07-16T01:24:32Z";
final String year = date.substring(0, 5);
final String month = date.substring(5, 8);
final String day = date.substring(8, 10);
final String hour = date.substring(11, 14);
final String minute = date.substring(14, 17);
final String second = date.substring(17, 19);

String newDate = year + month + day + " " + hour + minute + second;

System.out.println(newDate);
SimpleDateFormat fomat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date localTime = null;
try
localTime = fomat.parse(newDate);
catch (ParseException e)
// TODO Auto-generated catch block
e.printStackTrace();

System.out.println(localTime);

追问

这位仁兄。你辛苦了,你这种方法明显是错的嘛。这个时区其实就不是我们正常的时间,所以你这样子截取是不可取的。明显你只去掉了其中的T和Z字母,强制拼接在一起,这样子不行的。时间很明显是不正确的。不过很感谢你这么努力。问题我自己查资料解决了的。分我就给你了吧。

参考技术A 最终正确答案
/**
* W3C XML 模式时间数据类型与java Date进行转换
* @param date 2011-12-05T11:30:02.000Z
* @param timeZone //"GMT":格林尼治时间, "UTC":世界统一时间
*/
public static Date getW3cTimeConvertString2Date(String date,String timeZone) throws ParseException
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.CHINESE);
format.setTimeZone(TimeZone.getTimeZone(timeZone));
Date parse = format.parse(date);
return parse;


public static void main(String[] args) throws Throwable

Date ss = DateUtil.getW3cTimeConvertString2Date("2011-12-05T11:30:02.000Z","UTC");
System.out.println(ss);
参考技术B Date类下 有format方法 。看下api追问

我看了的,关键是没搞出来,你可以看一下。要是能搞出来,我可以提高分。

追答

Date date = new Date();

SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd hh:MM:ss");
sf.format(date)
System.out.println("test:"+sf.format(date));

追问

那日期格式一定要是我给的日期格式。你这个不行。求正确答案。

如何将对象类转换为 arrayList ? java [重复]

【中文标题】如何将对象类转换为 arrayList ? java [重复]【英文标题】:How to convert object class to arrayList ? java [duplicate] 【发布时间】:2014-09-23 04:44:59 【问题描述】:

我有这个代码:

ArrayList<Integer> users = new ArrayList<Integer>();

Map <String,Object> hashMap = new HashMap <String,Object> ();

hashMap.put("users",user);

// now I want to get users as array list
 hashMap.get("users")[i];//error

如何将用户作为数组?谢谢

【问题讨论】:

docs.oracle.com/javase/7/docs/api/java/util/List.html#toArray() 1) 将map的值类型改为List。 2) 用户hashMap.get("users").get(0) 你到底为什么将列表存储为对象??? @Andreas 不,它不是重复的,我想转换特定值 【参考方案1】:
List<Integer> users = new ArrayList<Integer>();

Map<String, Object> hashMap = new HashMap<String, Object>();
hashMap.put("users",user);
....
....
....
List<Integer> users = (List<Integer>)hashMap.get("users"); //assuming this is another method and 'users' is not defined here yet
Integer[] usersArray = users.toArray(new Integer[users.size()]);
System.out.println("" + usersArray[i]);

请注意,这是一个暴行,您不应该将该列表存储为对象,您几乎是在规避泛型的用途。

【讨论】:

同意,但他已经将用户作为变量,我什至不确定他为什么要将它放入地图中并像这样从中取出。或将其存储为对象。真的,我对目的感到困惑,但这应该可行。 @user2864740 '我已经完成了【参考方案2】:

如果您想将其作为 ArrayList 访问,此代码将起作用:

List<Integer> users = new ArrayList<Integer>();
Map<String, List<Integer>> hashMap = new HashMap<String, List<Integer>> ();
hashMap.put("users",users);
hashMap.get("users");

您的代码将无法工作,因为您将其存储为对象。所以你需要一个演员表。即便如此,您仍将 [] 用于数组,而不是 ArrayLists

如果你想把它当作一个数组使用,你可以把最后一行改成:

hashMap.get("users").toArray()

然后你可以使用[1],或者只是对初始代码执行.get(1)。

或者,如果您想使用 hashMap 作为属性包,正如有人有效提到的那样,您需要进行强制转换:

((ArrayList<Integer>) hashMap.get("users"))

然后您可以将用户用作ArrayList,因为您默认从HashMap 获得Object

【讨论】:

如果它是一个属性包,他应该使用一个类,除非他将它发送到 JavaScript 世界,我怀疑他是。 @user2864740 你提出了一个有效的观点,所以我更新了我的答案,如果这是他的意图,也可以帮助他。【参考方案3】:

你可以试试下面的方法

List<Users> usersList = new ArrayList<>();
Map<String,List<Users>> hashMap = new HashMap <> ();
hashMap.put("user",usersList);

现在

hashMap.get("user")

将返回ListUsers,现在可以使用了

hashMap.get("user").get(0); // to get 0th index user

【讨论】:

【参考方案4】:

因为是ArrayList而不是数组,所以可以这样获取-

public static void main(String args[]) throws Exception

  ArrayList<Integer> users = new ArrayList<Integer>();
  users.add(5);
  users.add(10);

  Map <String,Object> hashMap = new HashMap <String,Object> ();

  hashMap.put("users",users);

  ArrayList<Integer> no =  ((ArrayList<Integer>) hashMap.get("users"));

   for (Integer integer : no) 
    System.out.println(integer);
   

输出-

5
10

现在将 ArrayList 转换为 Array -

Integer[] arr = no.toArray(new Integer[no.size()]);

【讨论】:

以上是关于java 如何将2003-07-16T01:24:32Z格式转换成日期格式年月日时分秒的格式。的主要内容,如果未能解决你的问题,请参考以下文章

Pandas-将列值转换为顺序整数

如何将函数列表应用于 Java 8 中的值?

如何将参数传递给`_T()`? [复制]

JAVA中,如何将日期2013-06-27T00:00:00+08:00 转换为 2013-06-27 就是不要T后后面的数据?

java总结2016.01.24

如何在Java中使用正则表达式将“:abc,cde t”替换为“,abc | cde”?