簡體   English   中英

如何將日期TextView轉換為Long以與當前日期進行比較

[英]How to convert date TextView to Long to compare with current date

我有一個問題,與日期比較。 我有一個來自TextView的日期(通常存儲在SQLite文本字段中)。 TextView rowduedate帶有一個值為“2012/10/01 15:16”的日期如果我評論下面粘貼的代碼,它會正常工作並顯示R.id.rowduedate。 所以它不是空的。 但是我在LogCat中收到以下錯誤:

11-01 15:16:55.445: E/AndroidRuntime(783): FATAL EXCEPTION: main
11-01 15:16:55.445: E/AndroidRuntime(783): java.lang.NumberFormatException: Invalid   long: ""
11-01 15:16:55.445: E/AndroidRuntime(783):  at   java.lang.Long.invalidLong(Long.java:125)
11-01 15:16:55.445: E/AndroidRuntime(783):  at java.lang.Long.parseLong(Long.java:346)
11-01 15:16:55.445: E/AndroidRuntime(783):  at java.lang.Long.parseLong(Long.java:319)
11-01 15:16:55.445: E/AndroidRuntime(783):  at com.android.demo.notepad3.Notepadv3$1.setViewValue(Notepadv3.java:100)

這是代碼:

TextView dueDate = (TextView) view.findViewById(R.id.rowduedate);
String due = (String) dueDate.getText().toString();

if(due!=null){
Long longDue = Long.parseLong(due);
String now = new Date().toString();
Long longNow = Long.parseLong(now);

if(longDue <= longNow){

       dueDate.setTextColor(Color.RED);
}               
}

您需要告訴您的代碼如何格式化日期,以便從中提取時間。

String strDate = "2007-12-25";
SimpleDateFormat Formatter = new SimpleDateFormat("yyyy/MM/dd");
Date myDate    = Formatter.parse(strDate);

看來你正試圖解析一個空字符串,小心一點。

假設您的dueDate:TextView包含以下格式的有效日期“2012/10/01 15:16”:

long due = new SimpleDateFormat("yyyy/MM/dd HH:mm").parse(dueDate.getText().toString()).getTime();

if (due <= System.currentTimeMillis()) 
    dueDate.setTextColor(Color.RED);

那應該有幫助,

不要比較日期通過將日期字符串解析為Long

以下是比較日期值的方法。 核實

TextView dueDate = (TextView) view.findViewById(R.id.rowduedate);
String due = (String) dueDate.getText().toString();
SimpleDateFormat parser=new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date d = null;
Date now = new Date();
if(due!=null){
try {
  d = parser.parse(due);
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
if(d.before(now){

       dueDate.setTextColor(Color.RED);
}               
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM