如何将将来的日期(例如2012年2月17日星期六)转换为毫秒数,然后从java中的当前时间中减去该毫秒数,从而得出到该未来日期为止的剩余时间。
最简单的技术是使用DateFormat
:
String input = "Sat Feb 17 2012";
Date date = new SimpleDateFormat("EEE MMM dd yyyy", Locale.ENGLISH).parse(input);
long milliseconds = date.getTime();
long millisecondsFromNow = milliseconds - (new Date()).getTime();
Toast.makeText(this, "Milliseconds to future date="+millisecondsFromNow, Toast.LENGTH_SHORT).show();
一种更困难的技术(基本上可以DateFormat
为您做些什么)涉及您自己解析(这 不会 被视为 最佳实践 ):
String input = "Sat Feb 17 2012";
String[] myDate = input.split("\\s+");
int year = Integer.parseInt(myDate[3]);
String monthString = myDate[1];
int mo = monthString.equals("Jan")? Calendar.JANUARY :
monthString.equals("Feb")? Calendar.FEBRUARY :
monthString.equals("Mar")? Calendar.MARCH :
monthString.equals("Apr")? Calendar.APRIL :
monthString.equals("May")? Calendar.MAY :
monthString.equals("Jun")? Calendar.JUNE :
monthString.equals("Jul")? Calendar.JULY :
monthString.equals("Aug")? Calendar.AUGUST :
monthString.equals("Sep")? Calendar.SEPTEMBER :
monthString.equals("Oct")? Calendar.OCTOBER :
monthString.equals("Nov")? Calendar.NOVEMBER :
monthString.equals("Dec")? Calendar.DECEMBER : 0;
int day = Integer.parseInt(myDate[2]);
Calendar c = Calendar.getInstance();
c.set(year, mo, day);
long then = c.getTimeInMillis();
Time current_time = new Time();
current_time.setToNow();
long now = current_time.toMillis(false);
long future = then - now;
Date d = new Date(future);
//TODO use d as you need.
Toast.makeText(this, "Milliseconds to future date="+future, Toast.LENGTH_SHORT).show();
我希望能够将日期字符串(如“2019年9月23日”)转换为dart中的毫秒
问题内容: 我正在尝试将字符串解析为android应用程序中的日期字段,但似乎无法正确理解。这是我要转换为日期“ 2012/03/26/11:49:00 AM”的字符串。我正在使用的功能是: 但我不断得到结果。 问题答案: 您显示我猜测的数据的方式是错误的,因为对我来说: 印刷品:
问题内容: 我在字符串中有一个日期,例如“ 2012年12月12日”。如何将其转换为毫秒(长)? 问题答案: 使用SimpleDateFormat
我正在尝试用Java将一个毫秒(20180510-10:50:58.106)的字符串转换为日期。然而,当我转换它时,我得到的毫秒部分,但再次在字符串中。我想要相同的部分在日期格式。 输出为: 变量abc是一个字符串。我想在日期变量中得到相同的输出。
问题内容: 该java.util.Date 方法显示当地时区的日期。 在几种常见的情况下,我们希望以UTC格式打印数据,包括日志,数据导出以及与外部程序的通信。 在UTC中创建String表示形式的最佳方法是什么? 如何用更好的格式替换无法排序的juDate 格式(感谢@JonSkeet!)? 附录 我认为以自定义格式和时区打印日期的标准方法非常繁琐: 我一直在寻找像这样的单线: 问题答案: 遵循
问题内容: 我有一个字符串,例如date month year(31 08 2012)。我想将其转换为日期格式。 问题答案: 首先,您的格式有误,应该是