仅以 HH:MM 小时和分钟为单位获取印度时间



我使用以下代码来获取本地(IST)时间。但我不想显示日期&秒,也希望它在12小时(上午/下午)格式。请帮助。

使用下面的代码,我得到这样的时间

9/13/2016 11:38:17 AM

我想要这样

三十八分
partial class Default3 : System.Web.UI.Page
{
    DateTime UTCTime = System.DateTime.UtcNow;
    DateTime IndianTime = UTCTime.AddHours(5.5);
    private void Default3_Load(object sender, EventArgs e)
    {
        myTime.Text = IndianTime;
    }
    public Default3()
    {
        Load += Default3_Load;
    }
}

你可以像这样显示你的日期时间

DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");
dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock

要以请求格式获取在印度的时间,您可以使用

var zone = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
var timeInIndia = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, zone);
var timeInIndiaAsString = timeInIndia.ToString("hh:mm tt", CultureInfo.InvariantCulture);

尝试:

partial class Default3 : System.Web.UI.Page
{
    UTCTime = System.DateTime.UtcNow;
    IndianTime = UTCTime.AddHours(5.5).Date;
    private void Default3_Load(object sender, EventArgs e)
    {
        myTime.Text = IndianTime.ToShortDateString();
    }
    public Default3()
    {
        Load += Default3_Load;
    }
}

如果这不起作用,试着这样做:

 DateTime UTCTime = System.DateTime.UtcNow;
    DateTime IndianTime = UTCTime.AddHours(5.5).Date;
    partial class Default3 : System.Web.UI.Page
    {
        private void Default3_Load(object sender, EventArgs e)
        {
            UTCTime = System.DateTime.UtcNow;
            DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0);
            IndianTime = epoch.AddDays(Math.Floor(IndianTime.Subtract(epoch).TotalDays));
             myTime.Text = IndianTime.ToShortDateString();
        }
        public Default3()
        {
            Load += Default3_Load;
        }
    }

第二个示例在格式化方面有些多余,但如果需要将DateTime与存储为Date的内容(如在数据库中)进行比较,则很有用。如果需要"移除DateTime的时间",第二个示例中的IndianTime的结果将计算为"true"。

记住- DateTime只是一个整数-它的格式取决于你想要的。

最新更新