calendar
現在、データベースに保存したオブジェクトを使用して、Google にイベントを追加しようとしています。データベースに保存される日付は Date の形式で保存され、時刻は文字列として保存されます。
現在、イベントの時間部分以外はすべて機能しています。日付は正しく渡されていますが、時刻はデフォルトで 0:00 になっています。時間が適切に経過するようにするにはどうすればよいですか?
@Override
public void onClick(View arg0) {
if(arg0.getId() == R.id.btnAddToCal)
{
long startTime = 0, endTime=0;
String startDate = blankevent.EventDate;
try {
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(startDate);
startTime=date.getTime();
}
catch(Exception e){ }
Calendar cal = Calendar.getInstance();
Intent calintent = new Intent(Intent.ACTION_EDIT);
calintent.setType("vnd.android.cursor.item/event");
calintent.putExtra("eventLocation", blankevent.EventLocation);
calintent.putExtra("title", blankevent.EventName);
calintent.putExtra("description", blankevent.EventDetails);
calintent.putExtra("beginTime",startTime);
calintent.putExtra("dtstart", blankevent.EventTime);
startActivity(calintent);
return;
}
実際の問題領域のスクリーンショットを添付しました。日付は正しいのですが、時刻が間違っています。
解決済みコード
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Log.e("cal","sel2");
if(arg0.getId() == R.id.btnAddToCal)
{
String startDate = blankevent.EventDate;
String startHour = blankevent.EventTime;
Date fulldate = null;
try {
fulldate = new SimpleDateFormat("yyyy-MM-dd-HH:mm").parse(startDate+"-"+startHour);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
Intent calintent = new Intent(Intent.ACTION_EDIT);
calintent.setType("vnd.android.cursor.item/event");
calintent.putExtra("eventLocation", blankevent.EventLocation);
calintent.putExtra("title", blankevent.EventName);
calintent.putExtra("description", blankevent.EventDetails);
calintent.putExtra("beginTime", fulldate.getTime());
calintent.putExtra("endTime",fulldate.getTime()+60*60*1000);
startActivity(calintent);
return;
}