如何在Android中更改日期时间格式?

时间:2013-06-25 06:51:34

标签: android

我在Android中使用以下格式显示日期和时间:
2013-06-18 12:41:24

如何将其更改为以下格式?
18-jun-2013 12:41 pm

11 个答案:

答案 0 :(得分:70)

这是工作代码

public String parseDateToddMMyyyy(String time) {
    String inputPattern = "yyyy-MM-dd HH:mm:ss";
    String outputPattern = "dd-MMM-yyyy h:mm a";
    SimpleDateFormat inputFormat = new SimpleDateFormat(inputPattern);
    SimpleDateFormat outputFormat = new SimpleDateFormat(outputPattern);

    Date date = null;
    String str = null;

    try {
        date = inputFormat.parse(time);
        str = outputFormat.format(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return str;
}

文档:SimpleDateFormat | Android Developers

答案 1 :(得分:4)

    SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy  hh:mm a");
    String date = format.format(Date.parse("Your date string"));

答案 2 :(得分:3)

public class MainActivity extends AppCompatActivity {
    private Date oneWayTripDate;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String date ="2017-05-05 13:58:50 ";
        SimpleDateFormat input = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat output = new SimpleDateFormat("MMMM dd,yyyy @hh:mm:ss aa");
        try {
            oneWayTripDate = input.parse(date);  // parse input
        } catch (ParseException e) {
            e.printStackTrace();
       }
       Log.e("===============","======currentData======"+output.format(oneWayTripDate);
    }
}

答案 3 :(得分:2)

使用以下代码:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy hh:mm a");
String date = formatter.format(Date.parse("Your date string"));

希望它会对你有所帮助。

答案 4 :(得分:2)

您必须这样设置

 Date date=new Date("Your date "); 
SimpleDateFormat formatter5=new SimpleDateFormat("required format");
String formats1 = formatter5.format(date);
System.out.println(formats1);

答案 5 :(得分:2)

像这样设置答案以设置日期格式

 Date date=new Date("Your date "); 
SimpleDateFormat formatter5=new SimpleDateFormat("required format");

答案 6 :(得分:1)

我在项目中修改了Rusabh的日常格式化日期答案

    public String formatDate(String dateToFormat, String inputFormat, String outputFormat) {
        try {
            Logger.e("DATE", "Input Date Date is " + dateToFormat);

            String convertedDate = new SimpleDateFormat(outputFormat)
                    .format(new SimpleDateFormat(inputFormat)
                            .parse(dateToFormat));

            Logger.e("DATE", "Output Date is " + convertedDate);

            //Update Date
            return convertedDate;

        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;

    }

<强>用法:

            String inputFormat = "yyyy-MM-dd'T'HH:mmz";
            String OutPutFormat = "MMMM dd', 'yyyy hh:mma";
            String convertedDate = formatDate(asOfDateTime, inputFormat, OutPutFormat);

答案 7 :(得分:0)

使用以下代码:

Date date=new Date("2013-06-18 12:41:24"); 
SimpleDateFormat formatter5=new SimpleDateFormat("dd-MM-yyyy hh:mm a");
String formats1 = formatter5.format(date);
System.out.println(formats1);

答案 8 :(得分:0)

首先使用Calendar对象创建Date对象。然后使用您需要的日期,年份,月份等构建String。然后你可以使用它。

您可以使用Calendar类中的get()方法获取数据。

答案 9 :(得分:0)

我们可以使用此格式转换日期。将日期作为参数

传递
  public String formatdate(String fdate)
{
    String datetime=null;
    DateFormat inputFormat = new SimpleDateFormat("dd-MM-yyyy");
    SimpleDateFormat d= new SimpleDateFormat("yyyy-MM-dd");
    try {
        Date convertedDate = inputFormat.parse(fdate);
        datetime = d.format(convertedDate);

    }catch (ParseException e)
    {

    }
    return  datetime;


}

答案 10 :(得分:0)

private val dateFormatter: Format = SimpleDateFormat(
    android.text.format.DateFormat.getBestDateTimePattern(
        Locale.getDefault(),
        "dMMyyjjmmss"
    ),
    Locale.getDefault()
)

val dateText = dateFormatter.format(Date(System.currentTimeMillis()))

这是 Android 上可用的最佳选择,它将根据设备默认定位来格式化时间

取决于区域设置的示例输出:

  • 美国 - 02/18/2021, 1:00:00 PM(美国使用 12 格式时间)
  • 乌克兰 - 18.2.2012, 13:00:00(乌克兰使用 24 格式时间)

因此它会自动为您完成所有繁重的工作

附言如果您需要 2021 而不是 21,则将 yy 替换为 yyyy,如果您希望将月份显示为单词而不是数字,则将 MM 替换为 MMM 等等

例如美国的 "dMMMyyyyjjmmss" 将返回:

Feb 18, 2021, 1:43:20 PM

对于俄罗斯:

18 февр. 2021 г., 13:44:18

太棒了,不是吗?