java日期转换成毫秒_在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();

2020-09-23

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值