gpt4 book ai didi

java - java中如何将不同的日期格式转换为时间戳对象?

转载 作者:行者123 更新时间:2023-11-30 04:44:33 25 4
gpt4 key购买 nike

我有以下代码将日期/日期时间的不同字符串表示形式转换为时间戳对象:

public class GeneralMethods {

public static String[] formats = {"dd/mm/yyyy","mm/dd/yyyy hh:mm:ss","E MMM dd HH:mm:ss zzz yyyy"};

/**
* a method to return timestamp object from string date in the formats
* {"dd/mm/yyyy HH:mm:ss","E MMM dd HH:mm:ss zzz yyyy","dd/mm/yyyy"}
* @param date: the date to format in string representation
* @return timestamp object
*/
public static Timestamp timestampFormat(String date)
{
Date dateObj = new Date();
for(String format: formats)
{
try
{
dateObj = new SimpleDateFormat(format).parse(date);
System.out.println(dateObj.toString()); // for tracking

}catch (ParseException e)
{

}
}
return new Timestamp(dateObj.getTime());

}

// testing
public static void main (String args[])
{
System.out.println(timestampFormat("05/31/2011 21:37:35"));
}

}

此代码的输出是:

Wed Jan 05 00:31:00 GMT 2011
Mon Jan 31 21:37:35 GMT 2011
2011-01-31 21:37:35.0

如您所见,对于输入 05/31/2011 21:37:35,输出中的月份是错误的。这是怎么发生的?

最佳答案

mm 表示分钟 MM 表示月份,因此根据您设置的模式,分钟和月份默认设置为一月。

尝试将模式更改为“dd/MM/yyyy”、“MM/dd/yyyy hh:mm:ss”

关于java - java中如何将不同的日期格式转换为时间戳对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11374781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com