所以我在将多个变量分配给一个变量时遇到了麻烦。
我的应用程序中有一个日期选择器和时间选择器,用户选择的值存储为单独的变量。然后我想要获取所有变量并将它们分配给一个变量,这样我就可以存储用户输入并在其他活动中公开使用它。
编辑: 所以我正在使用第三方库,它使用动画图形并生成我必须通过整数的图形。因此,在尝试了所有建议之后,它正在使用格里高利的方式:
timeselected = new GregorianCalendar(yearNow, monthNow, dayNow, hourNow, minuteNow).getTime();
现在唯一的事情是它存储为日期而不能转换为整数??
例如,这是我到目前为止所尝试的内容:
我用来存储选择器选择的变量是:
int dayNow, monthNow, yearNow, hourNow, minuteNow;
我试图将它们分配给一个变量,如下所示:
timeselected = (yearNow) + (monthNow) + (dayNow) + (hourNow) + (minuteNow);
虽然这给了我所有加起来的变量。例如年(2017年)加月(11)等。
有谁知道如何将所选数据(应该是日期格式)存储为整数?
由于
答案 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。
现在,您不仅拥有存储整个日期和时间的单个整数变量,而且甚至可以轻松地将其转换回日期或日历。