【问题标题】:Convert an asp.net c# webservice datetime value to Date object in android(Java)将 asp.net c# webservice datetime 值转换为 android(Java) 中的 Date 对象
【发布时间】:2014-07-05 06:13:18
【问题描述】:

我有一个返回 dateTime 对象的 Asp.net c# webservice。我在我的 Android 应用程序中使用这个网络服务。我从 degugger 检查时得到的值类似于 '/Date(1400220842000)/'

如何将此值转换为有效的 Java 日期对象日期字符串timeinmillis

【问题讨论】:

  • 是否有可能将日期转换为长值(WS 中的日期以毫秒为单位)并从长值构造日期对象?

标签: c# java android web-services date


【解决方案1】:

你有什么类型的网络服务?您可以尝试在“(”上拆分字符串,这将返回一个将字符串分成两半的数组,取后半部分,然后在“)”上再次拆分,这样您就可以提取毫秒数

然后按照这篇文章将其转换为日期时间:

how to convert milliseconds to date format in android?

how to get date from milliseconds in android

Milliseconds to Date in GMT in Java

http://www.java2s.com/Code/Android/Date-Type/getDateStringfrommilliseconds.htm

http://javarevisited.blogspot.ca/2012/12/how-to-convert-millisecond-to-date-in-java-example.html

使用它可以快速检查您拥有的数字是否实际上是以毫秒为单位转换的日期时间: http://currentmillis.com/

【讨论】:

  • 您确定()之间的值是毫秒值吗?我可以从毫秒获取日期,实际上我只需要毫秒。
  • 不,我不确定,但我相信是的,请查看此网站currentmillis.com 您拥有的号码返回 2014 年 5 月 16 日星期五上午 6:14:02 .. 似乎合法? :)
【解决方案2】:

您的 Web 服务返回的值似乎属于时间戳类型,定义为 1970 年 1 月 1 日(UNIX 纪元)过去的毫秒数。因此,为了使用它,您可以使用以下代码:

private String getDate(long time) {
Calendar cal = Calendar.getInstance(Locale.ENGLISH);
cal.setTimeInMillis(time);
String date = DateFormat.format("dd-MM-yyyy", cal).toString();
return date;

}

【讨论】:

    【解决方案3】:

    ()里面的值是毫秒的值。所以我首先使用以下方法提取了毫秒数:

    Scanner in = new Scanner(obj.getString("CreationTime")).useDelimiter("[^0-9]+");
    Long createdate = in.nextLong();
    

    然后从毫秒获取日期或日历对象很容易:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      相关资源
      最近更新 更多