Вот то, в чем Вы нуждаетесь:
public static DateTime UnixTimeStampToDateTime( double unixTimeStamp )
{
// Unix timestamp is seconds past epoch
System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
dtDateTime = dtDateTime.AddSeconds( unixTimeStamp ).ToLocalTime();
return dtDateTime;
}
Или, для Java (который отличается, потому что метка времени находится в миллисекундах, не секунды):
public static DateTime JavaTimeStampToDateTime( double javaTimeStamp )
{
// Java timestamp is milliseconds past epoch
System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
dtDateTime = dtDateTime.AddMilliseconds( javaTimeStamp ).ToLocalTime();
return dtDateTime;
}
Assembly.GetAssembly предполагает у вас есть экземпляр типа и типа. GetType предполагает, что у вас есть полное имя типа, которое включает имя сборки.
Если у вас есть только имя базового типа, вам нужно сделать что-то вроде этого:
public static String GetAssemblyNameContainingType(String typeName)
{
foreach (Assembly currentassembly in AppDomain.CurrentDomain.GetAssemblies())
{
Type t = currentassembly.GetType(typeName, false, true);
if (t != null) {return currentassembly.FullName;}
}
return "not found";
}
Это также предполагает, что ваш тип объявлен в корне. Вам нужно будет указать пространство имен или включающие типы в имени, или выполнить итерацию таким же образом.
Assembly.GetAssembly(typeof(System.Int32))
Replace System.Int32
with whatever type you happen to need. Because it accepts a Type
parameter, you can do just about anything this way, for instance:
string GetAssemblyLocationOfObject(object o) {
return Assembly.GetAssembly(o.GetType()).Location;
}
Если вы можете его использовать, этот синтаксис является самым коротким / чистым:
typeof(int).Assembly