Convert a date and time string according to UTC format

邮差的信 提交于 2019-12-12 10:30:52

问题


I am having a date string 2012-11-21 13:11:25 which I get from local database. I have to convert this according to UTC settings and display it on a particular screen. So if its GMT+05:30 it should be displayed as 2012-11-21 18:41:25 on the screen. How can I do this conversion. I have checked some of the questions but that didn't work out.

I am able to get a Date object that returns something like Wed Nov 21 13:11:25 GMT+05:30 2012 after this I need to get the time as 18:41:25 and date as 11-21-2012

Thanks in advance


回答1:


Your df and inputFmt must use the same format.

But I think you should do it like this:

    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);



回答2:


Get UTC from current time :

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);
}



回答3:


Best way to get formatted string of Date in required format is

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



回答4:


    //This is my input date 

    String dtStart = "2019-04-24 01:22 PM";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm a");
    Date date = null;
    try {
        date = format.parse(dtStart);
        getDateInUTC(date)

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

//This Method use for convert Date into some UTC format

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;

        }


来源:https://stackoverflow.com/questions/13473073/convert-a-date-and-time-string-according-to-utc-format

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!