我把这个日期和时间连成一个字符串,我做得对吗?因为我想将strDateTime传递给Long类型(因为它的构造函数是Long) 这是代码
public void DT(){
seldate = (TextView) findViewById(R.id.receivedate);
newDate = seldate.getText().toString();
timeChose = time1.getText().toString();
final TimePicker tp = (TimePicker) findViewById(R.id.timePicker1);
strDateTime = newDate + " "+ timeChose ;
DatabaseSource sched = new DatabaseSource(
subject.getText().toString(),
description.getText().toString(),
strDateTime.toLong()
);
long result = dbHelper.addSched(sched);
if(result>0){
Toast.makeText(getApplicationContext(),"Added", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(getApplicationContext(),"Add Failed", Toast.LENGTH_SHORT).show();
}
}
PS选择日期,我将其保存到首选项键然后获取它并传递到下一个活动中的textview(我将创建事件)然后我点击一个edittext时弹出timepickerdialog然后设置编辑文本字段本身的时间。
答案 0 :(得分:0)
使用此代码Long.parseLong("0", 0);
此处"0"
是您的字符串值,0
是默认值(如果字符串为空或不是数字格式,则为
答案 1 :(得分:0)
将yyyy-MM-dd
格式的日期解析为Date
对象。
使用getTime
方法获取时间戳(以毫秒为单位)。
试试这个,
String strDateTime = "2016-09-17 11:21 PM";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm aa");
long milliseconds = 0;
try {
Date date = format.parse(strDateTime);
milliseconds = date.getTime();
} catch (Exception e) {
e.printStackTrace();
}
// pass milliseconds to the method
DatabaseSource sched = new DatabaseSource(
subject.getText().toString(),
description.getText().toString(),
milliseconds
);