#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);