Как конвертировать тик в формат ДД/ММ/ГГГГ, где один тик = 1 день

#c# #unity3d

Вопрос:

Я хотел бы преобразовать целое число тиков в формат ДД/ММ/ГГГГ, где каждый тик равен 1 дню. Например, он начинается с 1/1/1500, а при следующем тике меняется на 2/1/1500. Мне не нужны часы, минуты, секунды, мне просто нужен формат даты. Извините, если что-то подобное было опубликовано, я пытался использовать datetime, но я не думаю, что это то, что я ищу. Если только я не должен был просто установить 1 тик, равный количеству секунд в течение полного дня.

Это то, что у меня есть для системы клещей. Вместо отображения количества галочек я хотел бы отобразить дату.

 using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TimeTickSystem : MonoBehaviour
{
public class OnTickEventArgs : EventArgs
{
    public int tick;
}

public static event EventHandler<OnTickEventArgs> OnTick;

public GameObject textDisplay;

private const float Tick_Timer_Max = 0.2f;

private int tick;
private float tickTimer;

private void Awake()
{
    tick = 0;
}

private void Update()
{

    tickTimer  = Time.deltaTime;
    if (tickTimer >= Tick_Timer_Max)
    {
        tickTimer -= Tick_Timer_Max;
        tick  ;
        if (OnTick != null) OnTick(this, new OnTickEventArgs { tick = tick });
        textDisplay.GetComponent<Text>().text = "Tick: "   tick;
    }
}

}
 

Комментарии:

1. DateTime currentDate = new DateTime(1500, 1, 1).AddDays(tick); ?

2. Это сработало, большое спасибо.

Ответ №1:

Вы должны быть в состоянии просто создать экземпляр по DateTime адресу 1500/1/1:

 DateTime startDate = new DateTime(1500, 1, 1);
 

А затем добавьте к нему количество дней, которое вы хотите:

 DateTime tickDate = startDate.AddDays(tick);
 

Или просто:

 DateTime tickDate = new DateTime(1500, 1, 1).AddDays(tick);