Android 根据UTC格式转换日期和时间字符串

Android 根据UTC格式转换日期和时间字符串,android,date,time,utc,Android,Date,Time,Utc,我有一个日期字符串2012-11-21 13:11:25,我从本地数据库中获取。我必须根据UTC设置进行转换,并将其显示在特定屏幕上。因此,如果其GMT+05:30应在屏幕上显示为2012-11-21 18:41:25。我怎样才能做这个转换。我检查了一些问题,但没有解决 我可以得到一个日期对象,它返回类似于Wed Nov 21 13:11:25 GMT+05:30 2012的内容。在此之后,我需要将时间设置为18:41:25,日期设置为11-21-2012 提前感谢您的df和inputFmt必须

我有一个日期字符串
2012-11-21 13:11:25
,我从本地数据库中获取。我必须根据
UTC
设置进行转换,并将其显示在特定屏幕上。因此,如果其
GMT+05:30
应在屏幕上显示为
2012-11-21 18:41:25
。我怎样才能做这个转换。我检查了一些问题,但没有解决

我可以得到一个日期对象,它返回类似于
Wed Nov 21 13:11:25 GMT+05:30 2012
的内容。在此之后,我需要将时间设置为
18:41:25
,日期设置为
11-21-2012


提前感谢

您的
df
inputFmt
必须使用相同的格式

但我认为你应该这样做:

    Date myDate = new Date();

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
    calendar.setTime(myDate);
    Date time = calendar.getTime();
    SimpleDateFormat outputFmt = new SimpleDateFormat("MMM dd, yyy h:mm a zz");
    String dateAsString = outputFmt.format(time);
    System.out.println(dateAsString);

获取所需格式的格式化日期字符串的最佳方法是

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
String formatted = dateFormat.format(date);

从当前时间获取UTC:

public String getCurrentUTC(){
        Date time = Calendar.getInstance().getTime();
        SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        outputFmt.setTimeZone(TimeZone.getTimeZone("UTC"));
        return outputFmt.format(time);
}
//此方法用于将日期转换为某种UTC格式

public static String getDateInUTC(Date date) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
            String dateAsString = sdf.format(date);
            System.out.println("UTC" + dateAsString);
            return dateAsString;

        }

您可以查看:[Convertion][1][1]:希望这有帮助。节省我的时间谢谢
public static String getDateInUTC(Date date) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
            String dateAsString = sdf.format(date);
            System.out.println("UTC" + dateAsString);
            return dateAsString;

        }