如何将以字符串表示的日期转换为毫秒?

25 浏览
0 Comments

如何将以字符串表示的日期转换为毫秒?

在我的Java代码中,我有一个输入字符串,如05.10.2011,我需要将其转换为毫秒。所以:String someDate = \"05.10.2011\";我必须转换为匹配毫秒格式。

0
0 Comments

问题的出现原因:用户想要将表示日期的字符串转换为毫秒表示的日期。

解决方法:使用SimpleDateFormat类,该类接受一个字符串作为参数,并将其转换为Date对象,然后调用getTime()方法以获取以毫秒表示的日期。

具体代码如下:

SimpleDateFormat sdf = new SimpleDateFormat("MM.dd.yyyy");
Date date = sdf.parse("01.01.2022");
long milliseconds = date.getTime();

其中,"MM.dd.yyyy"表示日期字符串的格式为"月份.日期.年份",sdf.parse()方法将字符串转换为Date对象,然后调用getTime()方法获取以毫秒表示的日期。

注意,如果原始日期字符串的格式与"MM.dd.yyyy"不匹配,需要根据实际情况进行调整。

0
0 Comments

使用Java的SimpleDateFormat可以轻松地将字符串转换为Date实例。首先,创建一个SimpleDateFormat对象,指定日期的格式,然后调用其parse方法将字符串转换为Date对象。最后,通过调用Date对象的getTime方法,可以获取该日期的毫秒数表示。

以下是示例代码:

SimpleDateFormat formatter = new SimpleDateFormat("MM.dd.yyyy"); // 月.日.年
Date d = formatter.parse(inputString);
long timestamp = d.getTime();

0
0 Comments

在上述代码中,问题的原因是无法将表示日期的字符串转换为毫秒值。代码中使用了SimpleDateFormat类来解析日期字符串,并将其转换为Date对象。然后,通过调用Date对象的getTime()方法,可以获取日期的毫秒值。

然而,问题出现在SimpleDateFormat的模式字符串上。在代码中,模式字符串为"MM.dd.yyyy",表示日期的格式为月份.天.年份。但是,实际上日期字符串的格式是天.月.年份,即"05.10.2011"。因此,SimpleDateFormat无法正确解析日期字符串,导致转换失败。

为了解决这个问题,我们需要将模式字符串修改为"dd.MM.yyyy",以正确匹配日期字符串的格式。修改后的代码如下:

String someDate = "05.10.2011";
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
Date date = sdf.parse(someDate);
System.out.println(date.getTime());

通过修改模式字符串,代码现在可以正确地将日期字符串转换为毫秒值。现在,调用date.getTime()方法将输出正确的结果。

0