//Добавляем в 'Общий код':
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using System.Text.RegularExpressions;
using ZennoLab.CommandCenter;
using ZennoLab.InterfacesLibrary;
using ZennoLab.InterfacesLibrary.ProjectModel;
using ZennoLab.InterfacesLibrary.ProjectModel.Collections;
using ZennoLab.InterfacesLibrary.ProjectModel.Enums;
using ZennoLab.Macros;
using Global.ZennoExtensions;
using ZennoLab.Emulation;
using System.Net;
using System.Net.Sockets;
namespace ZennoLab.OwnCode
{
/// <summary>
/// A simple class of the common code
/// </summary>
public class CommonCode
{
/// <summary>
/// Lock this object to mark part of code for single thread execution
/// </summary>
public static object SyncObject = new object();
// Insert your code here
}
}
//Добавляем в 'Директивы Using':
using System.Net;
using System.Net.Sockets;
//Приведение к формату DateTime
string strDateTimeToConvert = "01.01.2017 01:01:01";
DateTime dtOne;
if(!DateTime.TryParse(strDateTimeToConvert, out dtOne)) {
project.SendErrorToLog("Ошибка преобразования в дату и время");
}
//Форматирование даты и времени - http://aione.ru/formatirovanie-datyi-i-vremeni-v-csharp/
DateTime dtNot = DateTime.Now;
string strFormattedNow = DateTime.Now.ToString("dd.MM.yyyy, dddd");
project.SendInfoToLog("Демо форматирования даты: " + strFormattedNow);
//Увеличение или уменьшение даты
DateTime dtYesterday = DateTime.Now.AddDays(-1);
project.SendInfoToLog("Вчера был день недели: " + dtYesterday.ToString("dddd"));
//Определение того что время находится в диапазоне
TimeSpan tStart = new TimeSpan(8, 0, 0); //8 утра
TimeSpan tFinish = new TimeSpan(23, 0, 0); //11 вечера
TimeSpan tNow = DateTime.Now.TimeOfDay;
if (tNow>tStart && tNow<tFinish) {
project.SendInfoToLog("Текущее время - между 8 утра и 11 вечера");
}
//unix time
int unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
project.SendInfoToLog("Текущее unix-время: " + unixTimestamp);
//получение по NTP
//using System.Net;
//using System.Net.Sockets;
StreamReader rdr = new StreamReader(new TcpClient("132.163.4.102", 13).GetStream());
string strNtpTime = rdr.ReadToEnd();
project.SendInfoToLog("Время, полученное с NTP-сервера: " + strNtpTime);
//генерация даты рождения
string strRandomDate = DateTime.Now.AddDays(new Random().Next(3650, 25000)*-1).ToString("dd.MM.yyyy");
project.SendInfoToLog("Случайная дата рождения: " + strRandomDate);
//вычисление диапазона
DateTime dtPrevDate = Convert.ToDateTime("01.01.2017");
TimeSpan tsDiff = DateTime.Now - dtPrevDate;
int intHoursAge = Convert.ToInt32(Math.Floor(tsDiff.TotalHours));
project.SendInfoToLog("Прошло часов с начала года: " + intHoursAge);