如何将长日期值转换为mm/dd/yyyy格式

31

可能是重复问题:
将长字符串转换为日期

我需要将一个长整型的日期值转换成mm/dd/yyyy格式。我的长整型值是

strDate1="1346524199000"

请帮助我


2
请查看此处https://dev59.com/UGbWa4cB1Zd3GeqPaMXL,可能是您自己问题的重复。 - Andro Selva
这是将长字符串转换为日期的内容。我需要将长字符串转换为日期。 - andro-girl
1
那么这里的长整型数据类型在哪里呢?我只看到了字符串数据类型。这实际上意味着两个问题分享相同的想法。你没有展示任何显示长整型数据类型的点。 - Andro Selva
4个回答

73

请参考以下代码,它可以以字符串形式给出日期。

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



public class Test{

    public static void main(String[] args) {
        long val = 1346524199000l;
        Date date=new Date(val);
        SimpleDateFormat df2 = new SimpleDateFormat("dd/MM/yy");
        String dateText = df2.format(date);
        System.out.println(dateText);
    }
}

2
日期 date = new Date(1346524199000l); 它总是会给出1970年。 - JosephM
1
如果您在此代码中遇到1970年的日期,请检查您的时间戳是否为毫秒。近年来的时间戳应该有13位数字。如果您的时间戳只有10位数字,那么意味着您需要将其乘以1000。 - Anuj Garg

8

请参考以下代码格式化日期

long strDate1 = 1346524199000;
Date date = new Date(strDate1);

try {
        SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
        SimpleDateFormat df2 = new SimpleDateFormat("dd/MM/yy");
        date = df2.format(format.parse("yourdate");
    } catch (java.text.ParseException e) {
        e.printStackTrace();
    }

2

试试这个例子

 String[] formats = new String[] {
   "yyyy-MM-dd",
   "yyyy-MM-dd HH:mm",
   "yyyy-MM-dd HH:mmZ",
   "yyyy-MM-dd HH:mm:ss.SSSZ",
   "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
 };
 for (String format : formats) {
   SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
   System.err.format("%30s %s\n", format, sdf.format(new Date(0)));
   sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
   System.err.format("%30s %s\n", format, sdf.format(new Date(0)));
 }

然后阅读这个 http://developer.android.com/reference/java/text/SimpleDateFormat.html


1

尝试类似这样的东西:

public class test 
{  

    public static void main(String a[])
    {  
        long tmp = 1346524199000;  

        Date d = new Date(tmp);  
        System.out.println(d);  
    }  
} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接