我有这个字符串
2020 年 8 月 7 日星期五 18:00:00 +0000
我需要将其转换为 LocalDateTime
我尝试了几种方法:
创建一个 DateTimeFormatter 并解析字符串
String dateString = "Fri, 07 Aug 2020 18:00:00 +0000";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("E, dd MMM yyyy HH:mm:ss", Locale.getDefault());
LocalDateTime parsedDate = LocalDateTime.parse(publishedString, formatter);
Run Code Online (Sandbox Code Playgroud)
使用 SimpleDateFormat 将其转换为日期,然后将 resultDate 转换为 LocalDateTime
String dateString = "Fri, 07 Aug 2020 18:00:00 +0000";
SimpleDateFormat dateFormatter = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z");
Date date = dateFormatter.parse(publishedString);
LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
Run Code Online (Sandbox Code Playgroud)
两种解决方案都给了我同样的例外:
java.time.format.DateTimeParseException: Text 'Fri, 07 Aug 2020 18:00:00 +0000' …Run Code Online (Sandbox Code Playgroud) 我在 Android 中的 SharedPreferences 有问题。在我的应用程序中,当我运行注销时,我需要删除我保存的所有 SharedPreferences,因为在启动应用程序时验证是否有一些 SharedPreferences,如果有我必须再次登录,要使用此代码
SharedPreferences sharedPreferences = context.getSharedPreferences(name, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
editor.commit();
Run Code Online (Sandbox Code Playgroud)
但是,当我再次启动应用程序并使用此代码检查 SharedPreferences 的存在时
String token = UserDefaultHelper.getStringPreferences(getApplicationContext(), getString(R.string.sharedPreferences_auth_token), "");
Run Code Online (Sandbox Code Playgroud)
String 令牌具有与注销前相同的值,有人可以解释错误在哪里吗?