将多个变量存储到一个变量中 - Java

时间:2017-11-03 14:17:25

标签: java android variables

所以我在将多个变量分配给一个变量时遇到了麻烦。

我的应用程序中有一个日期选择器和时间选择器,用户选择的值存储为单独的变量。然后我想要获取所有变量并将它们分配给一个变量,这样我就可以存储用户输入并在其他活动中公开使用它。

编辑: 所以我正在使用第三方库,它使用动画图形并生成我必须通过整数的图形。因此,在尝试了所有建议之后,它正在使用格里高利的方式:

timeselected = new GregorianCalendar(yearNow, monthNow, dayNow, hourNow, minuteNow).getTime();

现在唯一的事情是它存储为日期而不能转换为整数??

例如,这是我到目前为止所尝试的内容:

我用来存储选择器选择的变量是:

 int dayNow, monthNow, yearNow, hourNow, minuteNow;

我试图将它们分配给一个变量,如下所示:

timeselected = (yearNow) + (monthNow) + (dayNow) + (hourNow) + (minuteNow);

虽然这给了我所有加起来的变量。例如年(2017年)加月(11)等。

有谁知道如何将所选数据(应该是日期格式)存储为整数?

由于

3 个答案:

答案 0 :(得分:1)

这很难在评论中描述,但我认为这正是你要找的(我假设你正在寻找格式yyyymmddhhmm):

接受 Nabin Bhandari

的建议
String sTimeselected = ""+(yearNow) + (monthNow) + (dayNow) + (hourNow) + (minuteNow);

只需转换为long

long timeselected = Long.parseLong(sTimeselected);

如果这不是我还不清楚你需要什么。

修改:: 对于任何需要至少2位数的整数值(例如2 => 02),您可以将int格式化为这样的字符串:

String sDay = String.format("%02d", dayNow);

答案 1 :(得分:0)

试试这个:

int dayNow=3, monthNow=11, yearNow=2017, hourNow=9, minuteNow=20;
Date timeselected = new GregorianCalendar(yearNow, monthNow-1, dayNow, hourNow, minuteNow).getTime();
System.out.println(timeselected );

答案 2 :(得分:0)

使用纪元计数器。

首先,有点历史:如果你试图打印一个

的值
System.getCurrentMillis();

致电,您会注意到会打印1509719045之类的内容。这些是从1970年1月1日开始计算的日期的毫秒数。

要回答您的问题,我会阅读this StackOverflow answer

现在,您不仅拥有存储整个日期和时间的单个整数变量,而且甚至可以轻松地将其转换回日期或日历。