2017-07-07 6 views
2

J'ai actuellement une variable TimeSpan qui détient l'heure définie à partir d'un TimePicker. J'ai besoin d'un long similaire à celui donné par TimeSpan.TotalMilliseconds() mais j'en ai besoin par rapport à l'UTC.TimeSpan à UTC millisecondes

J'ai vu quelques tactiques comme la conversion en DateTime puis en utilisant DateTime.ToUniversalTime() mais je n'ai pas réussi à obtenir le total des millisecondes après la conversion. J'ai essayé de prendre le nouveau UTC DateTime et en utilisant DateTime.TimeOfDay() pour le remettre dans un type TimeSpan, puis d'utiliser à nouveau le TimeSpan.TotalMilliseconds() mais cela n'a pas fonctionné.

Des idées?

Répondre

2

Vous pouvez utiliser cette méthode

public double MilliTimeStamp(DateTime TheDate) 
     { 
      DateTime d1 = new DateTime(1970, 1, 1); 
      DateTime d2 = TheDate.ToUniversalTime(); 
      TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks); 
      return ts.TotalMilliseconds; 
     } 
+0

Merci! A dû ajouter cette ligne à prendre dans TimeSpan au lieu de DateTime 'DateTime dt = DateTime.Today + timeSpan;' puis le convertir en heure universelle. –

0

J'ai également eu le même problème. Utilisez ceci pour votre méthode datepicker-

DateTime.setTimeZone(java.util.TimeZone.getTimeZone("UTC")); 
DateTime.set(final_year, final_month, final_day, final_hour, final_minute,0); 
private long datetime=DateTime.getTimeInMillis(); 
String dt= String.valueOf(datetime); 

Je pense que cela résoudra votre problème!