用java将日期格式化为20160623_1125

用java将日期格式化为20160623_1125,java,Java,我正在使用以下代码以20160623_1123格式格式化我的日期 但月份部分正在生成分钟: long milliseconds = System.currentTimeMillis(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmm"); Date resultdate = new Date(milliseconds); System.out.println("Formatted timest

我正在使用以下代码以20160623_1123格式格式化我的日期

但月份部分正在生成分钟:

    long milliseconds = System.currentTimeMillis();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmm");
    Date resultdate = new Date(milliseconds);
    System.out.println("Formatted timestamp : "+ resultdate) 
结果:20162523_1125而不是20160623_1125

感谢您的帮助

试试这个:

    long milliseconds = System.currentTimeMillis();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmm");
    Date resultdate = new Date(milliseconds);
    System.out.println("Formatted timestamp : "+ sdf.format(resultdate));

无需干扰类系统即可获取以毫秒为单位的当前时间。 首先,您需要通过类date获取实际日期,然后通过SimpleDateFormat

代码如下:

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


public class MyClass {

    public static void main(String[] args) {
        Date today = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmm");
        String date = sdf.format(today);
        System.out.println("Formatted timestamp : " + date);
    }

}

您显示的代码不会给出该输出,而且您甚至没有使用
sdf
。请提供一个(当您使用
sdf.format(resultdate)
时,您应该会得到预期的输出-我也会…)@gogoru:这篇文章是无关的。OP想要格式化,而不是解析。很抱歉,我的编译有问题…它的工作原理我建议你在这种情况下删除这个问题。
import java.text.SimpleDateFormat;
import java.util.Date;


public class MyClass {
    private final static SimpleDateFormat SDF = new SimpleDateFormat("yyyyMMdd_HHmm");

    public static void main(String[] args) {        
        System.out.println("Formatted timestamp : " + SDF.format(new Date()));
    }

}