begin process at 2012 02 11 10:13:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > UNE STRUCTURE QUI GÈRE LE UNIX TIMESTAMP

UNE STRUCTURE QUI GÈRE LE UNIX TIMESTAMP


 Information sur la source

Note :
5 / 10 - par 2 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date / Heure Source .NET ( DotNet ) Classé sous :timestamp, unix Niveau :Initié Date de création :20/09/2004 Date de mise à jour :20/09/2004 13:27:20 Vu :13 398

Auteur : SimonKari

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

J'ai précisément choisi le type valeur (structure) pour donner la possibilité de faire des calcul dessus. Les surcharges logiques ont été ajoutée tel que le +, -.

Merci de me faire part de vos suggestions pour améliorer le codage.

Source

  • /// <summary>
  • /// <author>Simon Kari (Bismark Prods)</author>
  • /// <date>17/09/2004</date>
  • /// Structure de gestion du timestamp unix
  • /// </summary>
  • [Serializable()]
  • public struct UnixTimestamp
  • {
  • private double _value;
  • private double Value
  • {
  • get
  • {
  • return this._value;
  • }
  • }
  • public UnixTimestamp(double initialValue)
  • {
  • if(initialValue < 0)throw new ArgumentException("Negative number not allowed","initialValue");
  • this._value = initialValue;
  • }
  • public UnixTimestamp(DateTime initialValue)
  • {
  • if(initialValue.Year < 1970)throw new ArgumentException("Dates under 1970 not allowed","initialValue");
  • DateTime start = new DateTime(1970,1,1);
  • TimeSpan unix = initialValue.Subtract(start);
  • this._value = Math.Ceiling(unix.TotalSeconds);
  • }
  • public static UnixTimestamp operator+(UnixTimestamp lhs, UnixTimestamp rhs)
  • {
  • return new UnixTimestamp(lhs + rhs);
  • }
  • public static UnixTimestamp operator-(UnixTimestamp lhs, UnixTimestamp rhs)
  • {
  • return new UnixTimestamp(lhs - rhs);
  • }
  • public static implicit operator UnixTimestamp(double Value)
  • {
  • return new UnixTimestamp(Value);
  • }
  • public static implicit operator UnixTimestamp(DateTime Value)
  • {
  • return new UnixTimestamp(Value);
  • }
  • public static implicit operator double (UnixTimestamp from)
  • {
  • return from.Value;
  • }
  • public static implicit operator int(UnixTimestamp from)
  • {
  • return System.Convert.ToInt32(from.Value);
  • }
  • public static implicit operator long(UnixTimestamp from)
  • {
  • return System.Convert.ToInt64(from.Value);
  • }
  • public override string ToString()
  • {
  • return this._value.ToString();
  • }
  • public DateTime ToDateTime()
  • {
  • DateTime dt = new DateTime(1970,1,1);
  • dt.AddSeconds(this._value);
  • return dt;
  • }
  • public static DateTime ToDateTime(double utimestamp)
  • {
  • DateTime dt = new DateTime(1970,1,1);
  • dt.AddSeconds(utimestamp);
  • return dt;
  • }
  • public static DateTime ToDateTime(UnixTimestamp ut)
  • {
  • return ToDateTime(ut);
  • }
  • }
	/// <summary>
	/// <author>Simon Kari (Bismark Prods)</author>
	/// <date>17/09/2004</date>
	/// Structure de gestion du timestamp unix
	/// </summary>
	[Serializable()]
    public struct UnixTimestamp
	{
		private double _value;
		private double Value
		{
			get
			{
				return this._value;
			}
		}

		public UnixTimestamp(double initialValue)
		{
			if(initialValue < 0)throw new ArgumentException("Negative number not allowed","initialValue");
			this._value = initialValue;
		}

		public UnixTimestamp(DateTime initialValue)
		{
			if(initialValue.Year < 1970)throw new ArgumentException("Dates under 1970 not allowed","initialValue");
			DateTime start = new DateTime(1970,1,1);
			TimeSpan unix = initialValue.Subtract(start);
			this._value = Math.Ceiling(unix.TotalSeconds);
		}
		public static UnixTimestamp operator+(UnixTimestamp lhs, UnixTimestamp rhs)
		{
			return new UnixTimestamp(lhs + rhs);
		}
		public static UnixTimestamp operator-(UnixTimestamp lhs, UnixTimestamp rhs)
		{
			return new UnixTimestamp(lhs - rhs);
		}
		public static implicit operator UnixTimestamp(double Value)
		{
			return new UnixTimestamp(Value);
		}
		public static implicit operator UnixTimestamp(DateTime Value)
		{
			return new UnixTimestamp(Value);
		}
		public static implicit operator double (UnixTimestamp from)
		{
			return from.Value;
		}
		public static implicit operator int(UnixTimestamp from)
		{
			return System.Convert.ToInt32(from.Value);
		}
		public static implicit operator long(UnixTimestamp from)
		{
			return System.Convert.ToInt64(from.Value);
		}
			
		public override string ToString()
		{
			return this._value.ToString();
		}

		public DateTime ToDateTime()
		{
			DateTime dt = new DateTime(1970,1,1);
			dt.AddSeconds(this._value);
			return dt;
		}

		public static DateTime ToDateTime(double utimestamp)
		{
			DateTime dt = new DateTime(1970,1,1);
			dt.AddSeconds(utimestamp);
			return dt;
		}
		public static DateTime ToDateTime(UnixTimestamp ut)
		{
			return ToDateTime(ut);
		}
	}



 Historique

20 septembre 2004 13:27:21 :
ajout d'un semblant de gestion d'erreur

 Sources du même auteur

Source .NET (Dotnet) RANGEMENT POUR VOS BOOLÉENS

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) CALCUL DATES & JOURS FÉRIÉS par DCTC33
Source avec Zip Source avec une capture Source .NET (Dotnet) DIFFÉRENCE DE TEMPS, XML, POCKETPC / WINFORMS...... par Steph115
Source avec Zip Source avec une capture Source .NET (Dotnet) HORLOGE/ALARME NUMÉRIQUE par Bio3G
Source avec Zip Source avec une capture Source .NET (Dotnet) COMPTE À REBOURS par Azema
Source .NET (Dotnet) CLASSE DATE AVEC QUELQUES FONCTIONS par ricklekebekoi

Commentaires et avis

Commentaire de suchnight le 20/04/2005 23:07:46

I can't speach French sorry!!
Maybe :
        public DateTime ToDateTime()
        {
            DateTime dt = new DateTime(1970,1,1);
            DateTime dt2 = dt.AddSeconds(this._value);
            return dt2;
        }

        public static DateTime ToDateTime(double utimestamp)
        {
            DateTime dt = new DateTime(1970,1,1);
            DateTime dt2 = dt.AddSeconds(utimestamp);
            return dt2;
        }

Commentaire de suchnight le 20/04/2005 23:09:11

Thank you for this code,
Really Help !!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Connexion à un serveur UNIX... [ par shervy ] Bonjour,Je n'arrive pas à me connecter à un serveur UNIX.Voilà ce que j'utilise :IPAddress myIP = IPAddress.Parse("127.12.4.9");TcpClient tcpClient = programmation C sous unix [ par griffon2_6 ] Je suis novice, dans le cadre de mes &#233;tudes on nous a propos&#233; de r&#233;alis&#233; un syst&#232;me &#233;quivalent &#224; linux (&#233;mulat Mysql + Problème...................................... [ par emmanuel9 ] Bonjour &#224; tous, J'ai une application .net qui doit communiquer avec mysql et qui sera destin&#233; &#224; &#234;tre commercialis&#233;. Questio exécuter des commandes unix via une application c# [ par kokoMelle ] bonjour, au fait je vais programmer avec c#.net sous windows et j'ai besoin à partir du programme c# exécuter des rpm sous fedora (une autre machine faire du ftp [ par beny100 ] bonjour,j'ai ecris mon programme en csharp et les fichiers que traite mon programme sont stockes sur un serveur unix.mon problème est que je sais pas thread en execution parallele (genre démon unix) à une interface de formulaires [ par Capitaine Iron ] salut les loulou, je viens requerir votre aide parceque je pinaille un peut avec c#....voila ce que je veux fairemon projet consiste a faire un logici exécuter des commandes Unix via C# [ par katwes ] Bonjour,Je souhaite me connecter à un serveur unix et exécuter des commandes pour modifier les droits sur des répertoires et des fichiers.Comment-puis Usage d'un timestamp ? [ par olibara ] Bonjour J'avais pensé naivement que le fait de declarer un timestamp dans une table faisait que le DBE automatiquement modifiait cette date a chaque Insérer CURRENT_TIMESTAMP avec SQL Sever 2005 [ par mloanthony ] &gt;Bonjour, &gt; &gt;Habitué à DB2, j'ignore comment 'insert' les millisecondes avec SQL Server 2005 dans une colonne de type datetime. &gt; &gt;Voic Connexion Telnet vers Serveur Unix AIX [ par nono27200 ] Bonjour à tous, J'ai besoin de me connecter depuis une application Winform à un serveur Unix AIX. J'ai trouvé sur le net plusieurs classes permettan


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales