How to write the follow simple DateUtil in C#(.net) ?

发布于 2022-09-01 17:34:09 字数 1537 浏览 18 评论 0

The follow DateUtil is written in Java. How to write it in C#(.net), especially about the "Locale" ?

java的日期类和C#的日期类有哪些对应关系?求科普

图片描述

    /// <summary>
    /// 日期工具类
    /// </summary>
    public class DateUtil
    {

        public const string DATE_PATTERN = "yyyy-MM-dd";
        public const string DATE_PATTERN_SIMPLE = "yyyyMMdd";
        public const string LOG_DATE_PATTERN = "dd/MMM/yyyy";
        public const string HOUR_PATTERN = "yyyy-MM-dd-HH";
        public const string MIN_PATTERN = "yyyy-MM-dd-HH-mm";
        public const string SIMPLE_SECOND_PATTERN = "yyyyMMddHHmmss";
        public const string COMMON_PATTERN = "yyyy-MM-dd HH:mm:ss";
        public const string TIME_PATTERN = "HH:mm:ss";
        public const string TIME_MIN_PATTERN = "HH:mm";
        public static readonly Locale US = Locale.US;
        public const string CHART_DATE_PATTERN = "%Y-%m-%d";
        public const string CHART_HOUR_PATTERN = "%Y-%m-%d-%H";
        private const int ONE = 1;

        public static long yesterdayBeginTime()
        {
            DateTime calendar = new DateTime();
            calendar.AddDays(-1);
            calendar.set(DateTime.HOUR_OF_DAY, 0);
            calendar.set(DateTime.MINUTE, 0);
            calendar.set(DateTime.SECOND, 0);
            calendar.set(DateTime.MILLISECOND, 0);
            return calendar.TimeInMillis;
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

樱花落人离去 2022-09-08 17:34:09
public class DateUtil
{
    public const string DATE_PATTERN = "yyyy-MM-dd";
    public const string DATE_PATTERN_SIMPLE = "yyyyMMdd";
    public const string LOG_DATE_PATTERN = "dd/MMM/yyyy";
    public const string HOUR_PATTERN = "yyyy-MM-dd-HH";
    public const string MIN_PATTERN = "yyyy-MM-dd-HH-mm";
    public const string SIMPLE_SECOND_PATTERN = "yyyyMMddHHmmss";
    public const string COMMON_PATTERN = "yyyy-MM-dd HH:mm:ss";
    public const string TIME_PATTERN = "HH:mm:ss";
    public const string TIME_MIN_PATTERN = "HH:mm";
    public static readonly TimeZoneInfo Us
        = TimeZoneInfo.FindSystemTimeZoneById("Central America Standard Time");
    // 可以通过 TimeZoneInfo.Create(...) 自建时区

    // 下面这两个格式没搞懂
    public const string CHART_DATE_PATTERN = "%Y-%m-%d";
    public const string CHART_HOUR_PATTERN = "%Y-%m-%d-%H";

    private const int ONE = 1;

    public static long yesterdayBeginTime()
    {
        DateTime date = DateTime.Now;
        date = date.AddDays(-1);
        // date = new DateTime(date.Year, date.Month, date.Day, 0, 0, 0, 0);
        // 如果只是为了取日期部分,可以直接取
        date = date.Date;

        // return date.Ticks;   // 单位是 100纳秒,自0001年1月1日
        // return date.Ticks / 10000;   // 毫秒,自0001年1月1日
        return ToJavaMilliseconds(date);
    }

    public static long ToJavaMilliseconds(DateTime value, TimeZoneInfo timezone = null)
    {
        DateTime date1970 = new DateTime(1970, 1, 1, 0, 0, 0);
        date1970 = TimeZoneInfo.ConvertTimeFromUtc(date1970, timezone ?? TimeZoneInfo.Local);
        return (value.Ticks - date1970.Ticks) / 10000;
    }
}
梦回旧景 2022-09-08 17:34:09

oh~

try this tool Octopus .NET Translator
or this XES

if u can Over the wall~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文