[英]How to convertDate = new Date to just time and then convert the time to a long value
一世
有誰知道如何將我的日期轉換為當前“2016年6月14日星期二10:21:46”到時間10:21:46並且還要將此時間轉換為該時間。 這是我到目前為止,它似乎沒有工作得很好它留下了“”這意味着我不能減去前一次的當前時間
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("hh:mm ");
String timeNow = sdf.format(d);
Long currentTime = Long.valueOf(timeNow).longValue();
這給了我准確的結果
import java.util.Date;
public class myClass
{
private Date date1 = null;
public void start()
{
Date now = new Date();
//assuming you did first do whatever you need to do with date1 prior to this
long timeDiffernce = (now.getTime() - date1.getTime()) / 1000;
// this is milliseconds so divide by 1000 to get seconds
}
}
您可以使用Calender類,然后從日歷對象中獲取時間。
public class CalendarTest {
public static void main (String[] args) throws java.lang.Exception
{
Calendar cal = Calendar.getInstance(); // GregorianCalendar
System.out.println("Calendar's toString() is : " + cal + "\n");
System.out.println("Time zone is: " + cal.getTimeZone() + "\n");
Date date = cal.getTime();
System.out.println("Current date and time in Date's toString() is : " + date + "\n");
System.out.println("Hour : " + cal.get(Calendar.HOUR));
System.out.println("Minute : " + cal.get(Calendar.MINUTE));
}
}
您可以使用日歷:
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss");
String timeNow = sdf.format(cal.getTime());
Log.i("Time in hh:mm:ss ", timeNow);
Long currentTime = cal.getTimeInMillis();
Log.i("Time in milliseconds ", currentTime+"");
來自評論 :
例如,我想從10:11:55減去10:21:46
不知道你是否只想比較時間,或者日期是否重要,所以在這里我將展示:
TimeZone timeZone = TimeZone.getTimeZone("Africa/Johannesburg"); // or "Africa/Maseru" or "Africa/Mbabane"
String date1str = "Tue Apr 27 10:11:55 SAST 2016";
String date2str = "Tue Jun 14 10:21:46 SAST 2016";
SimpleDateFormat fmt1 = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy");
fmt1.setTimeZone(timeZone);
Date date1 = fmt1.parse(date1str);
Date date2 = fmt1.parse(date2str);
System.out.println("Time difference in seconds: " + (date2.getTime() - date1.getTime()) / 1000);
Calendar cal = Calendar.getInstance(timeZone);
cal.setTime(date1);
int secondOfDay1 = cal.get(Calendar.HOUR_OF_DAY) * 60 * 60 +
cal.get(Calendar.MINUTE) * 60 +
cal.get(Calendar.SECOND);
cal.setTime(date2);
int secondOfDay2 = cal.get(Calendar.HOUR_OF_DAY) * 60 * 60 +
cal.get(Calendar.MINUTE) * 60 +
cal.get(Calendar.SECOND);
System.out.println("Time difference in seconds: " + (secondOfDay2 - secondOfDay1));
產量
Time difference in seconds: 4147791
Time difference in seconds: 591
第一行顯示4月27日10:11:55和6月14日10:21:46之間的總秒數。 4147791秒是48d 9m 51s。
第一行顯示10:11:55到10:21:46之間的秒數,忽略了有問題的日期。 591秒是9米51秒。
import java.util.Date;
public class myClass
{
private Date date1 = null;
public void start()
{
Date now = new Date();
//assuming you did first do whatever you need to do with date1 prior to this
long timeDiffernce = (now.getTime() - date1.getTime()) / 1000;
// this is milliseconds so divide by 1000 to get seconds
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.