我正在android上开发SimpleDatFormat。我试图将时间从美国地区转换为瑞典语。它在模拟器中运行良好,但当我在真实设备上测试它时,它不工作。
SimpleDateFormat inputFormat = new SimpleDateFormat("hh:mm a", Locale.US);
SimpleDateFormat outputFormat = new SimpleDateFormat("hh:mm a", new Locale("sv"));
try {
return outputFormat.format(inputFormat.parse(date));
} catch (ParseException e) {e.printStackTrace();}
return null;
实际效果
示例输入 :- 06:45 上午
仿真器中的o/p:-06:45FM
实际设备中的O/p:上午06:45
预期成果
示例输入 :- 06:45 上午
仿真器中的o/p:-06:45FM
真实设备中的 O/p :- 06:45 FM
注意:此问题仅发生在时间区域设置转换中。日期转换在真实设备和模拟器设备中都可以正常工作。
提前感谢。
首先,java.util date-time API 及其格式化 API,SimpleDateFormat
已经过时且容易出错。建议完全停止使用它们并切换到现代日期时间 API。
不管使用哪种API,问题最可能的原因是用一个参数初始化< code>Locale。您应该使用< code >新区域设置(" sv "," SE"),而不是< code >新区域设置(" sv")。
使用 java.time API 进行演示:
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
DateTimeFormatter parser = DateTimeFormatter.ofPattern("hh:mm a", Locale.US);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm a", new Locale("sv", "SE"));
LocalTime time = LocalTime.parse("06:45 AM", parser);
String formatted = time.format(formatter);
System.out.println(formatted);
}
}
输出:
06:45 fm
从Trail: Date Time了解有关现代Date-Time API的更多信息。
我不太清楚为什么会发生这种情况。我一直在做一些研究,但情况太模糊了,我甚至很难找到解决办法。 我使用Android Studio创建了一个应用程序,并一直在一个虚拟仿真器上运行,其中< code>Toast功能使用这两行简单的代码运行良好 但当我在手机上运行这个应用程序时,它一直死机。我有Galaxy Grand Prime,甚至不确定它是否重要。
我正在Android系统上使用简单数据格式。我试图将时间从美国语言环境转换为瑞典语。它在模拟器中工作正常,但当我在真实设备上测试时,它不起作用。 提前谢谢。
这个小部件在模拟器4.1.2上工作得很好,当安装在真正的设备上时,它甚至不会显示在小部件列表上,就像安装了一样,但我不能让它正常工作。 下面是manifest.xml 和小部件提供程序
我使用以下方法计算行数 和列中的条目 这两种方法在模拟器上都可以正常工作,但在真实设备上会出错...... 知道哪里出问题了吗?谢谢你。 我得到一个错误日志:-
我正在尝试使用< code>Xamarin。AccountStore来保留用户的登录凭据,这样他们就不必在每次使用应用程序时都键入凭据。 保存凭据看起来像这样: 在模拟VS中的应用程序时,这与我的预期完全一样。当通过Xamarin Live在实际手机上运行时,方法会为Android库中看起来缺少的方法抛出异常。 异常消息: 类型“Java”上的构造函数。找不到security . KeyStore
我是android新手,我能够在kotlin中为我的应用程序设置firebase。如果我在Nexus 5X API 27 emulator中运行该应用程序,我就能够获取数据库,但当我在实际设备三星S5(Google play Services V 12.5.29,android V 5.0)中运行该应用程序时,我无法获得addValueEventListener回调。 Gradle文件: 我知道这