使用Date选择字符串-android studio-java

使用Date选择字符串-android studio-java,java,android,string,Java,Android,String,我正在尝试使用日期字符串来选择要在我的android应用程序中显示的字符串 我用来获取日期的代码: Calendar TextCalendar = Calendar.getInstance(); SimpleDateFormat DateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); String TextDate = DateFormat.format(TextCalendar.getTime()); 我想象的代码需要

我正在尝试使用日期字符串来选择要在我的android应用程序中显示的字符串

我用来获取日期的代码:

Calendar TextCalendar = Calendar.getInstance();
SimpleDateFormat DateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
String TextDate = DateFormat.format(TextCalendar.getTime());
我想象的代码需要选择字符串:

TextView MyTextView = (TextView) findViewByID(R.id.my_text_view);
MyTextView.setText (  "DateVariable" + "Comment"   )
我认为这段代码不起作用,因为我尝试过,但是,带有“DateVariable”和“Comment”的位意味着我可以在Strings.xml中使用字符串来命名每个日期,但我每天使用2个字符串,因为有一个标题字符串和一个注释字符串,所以我可以想象字符串名称如下所示

<string name="2016-02-28-TITLE">TESTING20160228</string>
<string name="2016-02-28-COMMENT">TESTING20160228Comment</string>
<string name="2016-02-29-TITLE">....
and so on
测试20160228
测试20160228评论
....
等等
如果有人对如何进行这项工作有更好的建议,我们将不胜感激

谢谢~Alexander

试试这个:

String s = TextDate + "-Comment";
getString(getResources().getIdentifier(s, "string", getPackageName()));
试试这个:

String s = TextDate + "-Comment";
getString(getResources().getIdentifier(s, "string", getPackageName()));
时区 确定当前日期需要时区。世界各地的日期并不同时相同。东方新的一天提前到来。例如,在巴黎午夜过后的最初几分钟,蒙特勒尔仍然是“昨天”

如果省略,则隐式应用JVM的当前默认时区。默认值可能会有所不同,即使在运行时也是如此!最好明确你想要/期望的时区

java.time 您使用的是旧的日期时间类,这些类已被java 8及更高版本中内置的java.time框架所取代。大部分java.time都被向后移植到Java6和Java7,并进一步适应Android

这些java.time类包括只用于日期值的类,这些值缺少一天中的时间和时区

ZoneId z = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( z );
您所需的文本格式符合标准。在解析/生成字符串时,java.time类默认使用ISO8601

String output = today.toString() + "-Comment";
Java命名 顺便说一下,您问题中的代码不遵循命名约定。类名应以大写字母开头,而实例变量名应以小写字母开头


关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到java.time

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门针对Android采用了Three Ten Backport(如上所述)
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,例如、、和。

时区 确定当前日期需要时区。世界各地的日期并不同时相同。东方新的一天提前到来。例如,在巴黎午夜过后的最初几分钟,蒙特勒尔仍然是“昨天”

如果省略,则隐式应用JVM的当前默认时区。默认值可能会有所不同,即使在运行时也是如此!最好明确你想要/期望的时区

java.time 您使用的是旧的日期时间类,这些类已被java 8及更高版本中内置的java.time框架所取代。大部分java.time都被向后移植到Java6和Java7,并进一步适应Android

这些java.time类包括只用于日期值的类,这些值缺少一天中的时间和时区

ZoneId z = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( z );
您所需的文本格式符合标准。在解析/生成字符串时,java.time类默认使用ISO8601

String output = today.toString() + "-Comment";
Java命名 顺便说一下,您问题中的代码不遵循命名约定。类名应以大写字母开头,而实例变量名应以小写字母开头


关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到java.time

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门针对Android采用了Three Ten Backport(如上所述)

该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,如、、和。

您是在谈论以编程方式更改xml字符串吗?您想实现什么?您是在谈论以编程方式更改xml字符串吗?您想实现什么?谢谢,这对我很有用。现在,如果我仍然想问我应该如何继续我的应用程序,我应该创建一个新的线程,还是只在这一个问题上问他们?如果这与同一点无关,我认为你应该创建一个新的线程谢谢,这对我来说很有效。现在,如果我仍然想问我应该如何继续我的应用程序,我应该创建一个新的线程,还是只在这一个问题上问他们?如果这与同一点无关,我认为你应该创建一个新的线程谢谢Basil!,因此,如果我将它设置为本地日期,它将使用来自设备的日期?是的,我意识到它应该是小写的,我正在慢慢地更改它以摆脱我的坏习惯:还有,您提供的代码如何输出日期,我特别需要它