java - 时间转换问题

标签 java time data-conversion

我已经编写了代码来从 long 获取时间并从时间获取 long。当我运行时,我无法从 long 获得正确的日期时间。你能帮我解决这个问题吗?

TimeConverterUtil.java

    import java.text.SimpleDateFormat;
    import java.util.Date;


    public class TimeConverterUtil
    {
        public static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        public static SimpleDateFormat usrFormatter = new SimpleDateFormat("dd MMM yy, HH:mm:ss:ms");

        public static String getDateTime(Long stamp)
        {
              Date date = new Date(stamp);
              return formatter.format(date);
        }
        public static Long getTimestamp(String date)
        {
            Date lFromDate1;
            try {
                lFromDate1 = usrFormatter.parse(date);
                return lFromDate1.getTime(); 
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return null;
            }
        }
    }

测试程序:

TCTester.java

//$Id$

public class TCTester {

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        Long timeInLong = TimeConverterUtil.getTimestamp("28 Mar 13, 02:14:02:000");
        System.out.println(TimeConverterUtil.getDateTime(timeInLong));

        System.out.println("\n\n\n"+TimeConverterUtil.getTimestamp("28 Mar 13, 02:14:02:000"));
    }

}

最佳答案

问题出在输入格式字符串的毫秒部分。你有一个格式:

"dd MMM yy, HH:mm:ss:ms"

但是 ms 被解释为“分钟然后秒”,而不是“毫秒”。你想要:

"dd MMM yy, HH:mm:ss:SSS"

请注意,您没有在输出 格式字符串中包括毫秒,因此无论如何都会丢失部分信息。

另请注意,在秒和毫秒之间使用“:”很奇怪。使用“.”会更正常,因此输入可能是 "28 Mar 13, 02:14:02.000"

关于java - 时间转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15716880/

相关文章:

java - 比较两个字符串时出现问题

java - JNA:void** 和 void* 之间的转换

Python、geopy杀死时间限制

python - 如何让一些东西不受 time.sleep() python 的影响

javascript - 从 webelement 读取字符串并将其转换为小数

python - 如何将 JSON 字符串转换为 Python 中的字典?

java - 在运行一个简单的 MapReduce 程序时获取 java.lang.ClassCastException : class java. lang.String

java - SharedPreferences getString 返回 null

c - 运行程序3秒

c# - 如何将数据转换为 DateTime 对象