programing tip

눈금을 날짜 형식으로 어떻게 변환 할 수 있습니까?

itbloger 2020. 11. 29. 10:00
반응형

눈금을 날짜 형식으로 어떻게 변환 할 수 있습니까?


틱 값을 다음과 같은 날짜로 변환하고 있습니다.

Convert(datetime, (MachineGroups.TimeAdded - 599266080000000000)/864000000000);

이것을 사용하면 다음을 얻습니다.

9/27/2009 10:50:27 PM

하지만이 형식의 날짜 만 원합니다.

October 1, 2009

내 샘플 틱 값은

633896886277130000

이를 수행하는 가장 좋은 방법은 무엇입니까?


DateTime 개체는 특정 값의 눈금으로 생성 할 수 있습니다. 틱 값을 결정했으면 다음을 수행 할 수 있습니다.

DateTime myDate = new DateTime(numberOfTicks);
String test = myDate.ToString("MMMM dd, yyyy");

이렇게하는 것이 훨씬 더 간단합니다.

DateTime dt = new DateTime(633896886277130000);

주는

dt.ToString() ==> "9/27/2009 10:50:27 PM"

을 사용하여 원하는 방식으로 형식을 지정할 수 있습니다 dt.ToString(MyFormat). 형식 문자열에 대해서는 이 참조참조하십시오 . "MMMM dd, yyyy"질문에서 지정한대로 작동합니다.

10 월 1 일에 어디서 얻을 수 있는지 잘 모르겠습니다.


    private void button1_Click(object sender, EventArgs e)
    {
        long myTicks = 633896886277130000;
        DateTime dtime = new DateTime(myTicks);
        MessageBox.Show(dtime.ToString("MMMM d, yyyy"));
    }

제공

September 27, 2009

그게 필요한 건가요?

하지만이 형식이 SQL 쿼리에서 어떻게 작업하기 쉬운 지 모르겠습니다.


지금까지의 답변은 제 생각에 도움이되었습니다. 나는 UTC와 현지 시간을 경계합니다. 틱은 항상 UTC IMO 여야합니다.

public class Time
{
    public static void Timestamps()
    {
        OutputTimestamp();
        Thread.Sleep(1000);
        OutputTimestamp();
    }

    private static void OutputTimestamp()
    {
        var timestamp = DateTime.UtcNow.Ticks;
        var localTicks = DateTime.Now.Ticks;
        var localTime = new DateTime(timestamp, DateTimeKind.Utc).ToLocalTime();
        Console.Out.WriteLine("Timestamp = {0}.  Local ticks = {1}.  Local time = {2}.", timestamp, localTicks, localTime);
    }
}

산출:

Timestamp = 636988286338754530.  Local ticks = 636988034338754530.  Local time = 2019-07-15 4:03:53 PM.
Timestamp = 636988286348878736.  Local ticks = 636988034348878736.  Local time = 2019-07-15 4:03:54 PM.

참고URL : https://stackoverflow.com/questions/1489243/how-can-i-convert-ticks-to-a-date-format

반응형