【问题标题】:Convert a date and time string according to UTC format根据 UTC 格式转换日期和时间字符串
【发布时间】:2012-11-08 12:18:00
【问题描述】:

我有一个从本地数据库获取的日期字符串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的日期

提前致谢

【问题讨论】:

标签: android date time utc


【解决方案1】:
    //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();
    }

//此方法用于将日期转换为某种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;

        }

【讨论】:

    【解决方案2】:

    从当前时间获取 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);
    }
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        您的dfinputFmt 必须使用相同的格式。

        但我认为你应该这样做:

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

        【讨论】:

        • 节省我的时间谢谢
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-24
        • 2020-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多