CentralMine.NET.Utils.UnixTime C# (CSharp) Method

UnixTime() public static method

public static UnixTime ( ) : System.UInt64
return System.UInt64
        public static UInt64 UnixTime()
        {
            TimeSpan span = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc));
            double unixTime = span.TotalSeconds;
            return (UInt64)unixTime;
        }

Usage Example

        public void GenerateWork()
        {
            byte[] en2b = new byte[mExtraNonceSize];
            for (int i = 0; i < mExtraNonceSize; i++)
            {
                ulong mask   = (ulong)0xFF << (i * 8);
                ulong masked = (mExtraNonceB & mask) >> (i * 8);
                en2b[mExtraNonceSize - (1 + i)] = (byte)masked;
            }
            mExtraNonceB++;

            mExtraNonce2 = Utils.ByteArrayToHexString(en2b);
            string coinbase = mCoinBaseA + mExtraNonce + mExtraNonce2 + mCoinBaseB;

            byte[] cb         = Utils.HexStringToByteArray(coinbase);
            byte[] cbHash     = MinerLib_cs.Scrypt.SHA2562(cb);
            string merkleRoot = Utils.ByteArrayToHexString(cbHash);

            foreach (string merkle in mMerkleBranch)
            {
                byte[] hashData   = Utils.HexStringToByteArray(merkleRoot + merkle);
                byte[] merkleHash = MinerLib_cs.Scrypt.SHA2562(hashData);
                merkleRoot = Utils.ByteArrayToHexString(merkleHash);
            }

            // byteswap the merkle root section
            byte[] merkleData = Utils.HexStringToByteArray(merkleRoot);
            Utils.ByteSwapIntegers(merkleData);
            merkleRoot = Utils.ByteArrayToHexString(merkleData);


            uint time = (uint)Utils.UnixTime() + 120;

            mTimeStr = Utils.UIntToHexString(time);

            strData = mVersion + mPrevHash + merkleRoot + mTimeStr + mDifficulty + "00000000" + "000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000";
            data    = Utils.HexStringToByteArray(strData);
        }