如何在java中获取像yyyy-mm-dd am这样的日期格式[重复]

Posted

技术标签:

【中文标题】如何在java中获取像yyyy-mm-dd am这样的日期格式[重复]【英文标题】:how to get date format like yyyy-mm-dd am in java [duplicate] 【发布时间】:2015-08-01 03:32:59 【问题描述】:

我需要获取日期格式,例如:

"yyyy-mm-dd am"

"yyyy-mm-dd pm"

android 版 Java

我不需要当前时间,只需要 yyyy-mm-dd 加上 am/pm

如何直接制作?

我使用以下方法获取当前日期:

    private static String getDate()
        Calendar c = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
        return sdf.format(c.getTime());
    

【问题讨论】:

new SimpleDateFormat("hh:mm a"); 将产生 hours:mins with am/pm docs.oracle.com/javase/7/docs/api/java/text/… "h:mm a" 结果下午 12:08 @HK ...请在下面查看我的解决方案 【参考方案1】:

你可以简单地使用

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd a");

输出将是

2015-34-20 AM

编辑

   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd a");

这将产生一个输出

2015-05-20 AM

【讨论】:

简单而好的答案。 +1。 检查您的m一年中的一个月应该是大写M(假设这是OP真正想要的)。【参考方案2】:

您应该使用以下这些代码行...SimpleDateFormat 唯一的一个问题是,当您将设备语言更改为 SimpleDateFormat 之外的另一种语言时的字符串也会随着可以在您的应用程序中创建 problem 的语言而变化。因此我建议您如果您 想要更改 日期 根据应用程序语言更改的字符串比使用以下对您有帮助的概念或只是简单地使用 SimpleDateFormat 不将应用程序语言更改为另一种语言。

     Calendar ci = Calendar.getInstance();
     String AM_PM;

      if(ci.get(Calendar.AM_PM)==0)
        
             AM_PM ="AM";
        
        else
        
             AM_PM ="PM";
        
        String CiDateTime = "" + ci.get(Calendar.YEAR) + "-" + 
            (ci.get(Calendar.MONTH) + 1) + "-" +
            ci.get(Calendar.DAY_OF_MONTH)+" "+AM_PM;

         System.out.println("time=========================================="+CiDateTime);

输出:-

 time==========================================2015-5-20 PM

【讨论】:

【参考方案3】:

您可以查看 Android 中 SimpleDateFormat 的参考,以获取所有符号的列表以及它们所代表的含义。 SimpleDateFormat Reference

【讨论】:

以上是关于如何在java中获取像yyyy-mm-dd am这样的日期格式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

java如何实现各国时间格式转换成yyyy-MM-dd HH:mm:ss时间格式?

如何在 Java 中以 YYYY-MM-DD HH:MI:Sec.Millisecond 格式获取当前时间?

Java如何获取Date类型且格式为yyyy-mm-dd的日期数据?

如何从 PHP 中的日期时间获取 AM/PM [重复]

在 Pig 中以 yyyy-mm-dd 格式获取今天的日期

同一天或一个月中的Java日期