小编Iva*_*ano的帖子

在 Java 中将字符串转换为 LocalDateTime

我有这个字符串

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)

java date localdatetime

2
推荐指数
1
解决办法
9591
查看次数

Android 删除 SharedPreferences

我在 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 令牌具有与注销前相同的值,有人可以解释错误在哪里吗?

android sharedpreferences android-studio

-4
推荐指数
1
解决办法
7836
查看次数