使用Blazor做个简单的时间戳在线转换工具

Blazor的简单时间轴组件-JavaScript开发 BlazorTimeline Blazor的简单时间线组件响应Swift! 功能:check_mark_button:简单的组件:check_mark_button:颜色自定义:check_mark_button:响应能力强! :check_mark_button:您可以为Blazor放置任何BlazorTimeline Simple时间线组件。 功能:check_mark_button:简单的组件:check_mark_button:颜色自定义:check_mark_button:响应能力强! :check_mark_button:您可以在说明中添加任何内容! 结帐CHANGELOG了解更多信息。 用法1.从Nuget安装。2.将using添加到您的项目中。 @using BlazorTimeline 3.示例代码@using BlazorTimeline 立即下载

时间戳转换

f5b58d952cd908305f8a9e50d72f2034.png

时间戳转换,关键点在于双向绑定@bind-Value,就简单贴源码吧

TimestampTool.razor

@page "/timestamp"
@using BlazorComponent.I18n
@layout PublicLayout

<PageTitle>@T("TimestampToolTitle")</PageTitle>

<h2 style="margin-bottom: 10px; margin-top: 10px; text-align: center;">@T("TimestampToolDesc")</h2>

<MRow>
    @T("TimestampToolDateNow") @DateToTimestamp(DateTime.Now, TimestampKind.Seconds)
</MRow>
<MRow>
    <MTextField Label="@T("TimestampToolTimestamp")" TValue="long" @bind-Value="@_timestamp1"/>
    <MSelect @bind-Value="@_kindValue1"
             Label="@T("TimestampToolTimestampKind")"
             Items="@_items"
             ItemText="u => u.Label"
             ItemValue="u => u.Value"
             Class="mx-3"
             MenuProps="props => props.OffsetY = true">
    </MSelect>
    <MButton OnClick="@Convert1">@T("TimestampToolConvert")</MButton>
    <MTextField Label="@T("TimestampToolBeijingTime")"
                TValue="string" @bind-Value="@_datetime1"
                Class="ml-3"/>
</MRow>
<MRow>
    <MTextField Label="@T("TimestampToolBeijingTime")" TValue="string" @bind-Value="@_datetime2"/>
    <MButton Class="mx-3" OnClick="@Convert2">@T("TimestampToolConvert")</MButton>
    <MTextField Label="@T("TimestampToolTimestamp")" TValue="long" @bind-Value="@_timestamp2"/>
    <MSelect @bind-Value="@_kindValue2"
             Label="@T("TimestampToolTimestampKind")"
             Items="@_items"
             ItemText="u => u.Label"
             ItemValue="u => u.Value"
             MenuProps="props => props.OffsetY = true"
             Class="ml-3">
    </MSelect>
</MRow>

<MarkdownComponent
    LocalPostFilePath="wwwroot/2022/02/2022-02-27_03.md"
    SourceCodeUrl="https://github.com/dotnet9/dotnet9.com/blob/develop/src/Dotnet9.Tools.Web/Pages/Public/TimeTools/TimestampTool.razor"/>

@code
{
    [Inject]
    private I18n I18N { get; set; } = default!;

    private DateTime _currentDatetime;
    private long _timestamp1;
    private long _timestamp2;
    private string? _datetime1;
    private string? _datetime2;
    private TimestampKind _kindValue1;
    private TimestampKind _kindValue2;

    private readonly List<TimestampItem> _items = new();

    protected override Task OnInitializedAsync()
    {
        _items.Add(new TimestampItem(T("TimestampToolKindSeconds")!, TimestampKind.Seconds));
        _items.Add(new TimestampItem(T("TimestampToolKindMilliseconds")!, TimestampKind.Milliseconds));
        _currentDatetime = DateTime.Now;
        _timestamp1 = _timestamp2 = DateToTimestamp(_currentDatetime, TimestampKind.Seconds);
        _datetime1 = _datetime2 = _currentDatetime.ToString("yyyy-MM-dd HH:mm:ss");
        return base.OnInitializedAsync();
    }

    private void Convert1()
    {
        _datetime1 = TimestampToDate(_timestamp1, _kindValue1).ToString(_kindValue1 == TimestampKind.Seconds ? "yyyy-MM-dd HH:mm:ss" : "yyyy-MM-dd HH:mm:ss.fff");
    }

    private void Convert2()
    {
        try
        {
            _timestamp2 = DateToTimestamp(DateTime.Parse(_datetime2), _kindValue2);
        }
        catch
        {
        }
    }

    private static long DateToTimestamp(DateTime date, TimestampKind kind)
    {
        try
        {
            var point = new DateTime(1970, 1, 1);
            var time = date.Subtract(point);

            return (long)(kind == TimestampKind.Seconds ? time.TotalSeconds : time.TotalMilliseconds);
        }
        catch
        {
            return default;
        }
    }


    private static DateTime TimestampToDate(long timestamp, TimestampKind kind)
    {
        try
        {
            var point = new DateTime(1970, 1, 1);
            var time = kind == TimestampKind.Seconds ? point.AddSeconds(timestamp) : point.AddMilliseconds(timestamp);

            return time;
        }
        catch
        {
            return default;
        }
    }

    public string? T(string key)
    {
        return I18N.LanguageMap.GetValueOrDefault(key);
    }

    enum TimestampKind
    {
        Seconds,
        Milliseconds
    }

    class TimestampItem
    {
        public string Label { get; }
        public TimestampKind Value { get; }

        public TimestampItem(string label, TimestampKind value)
        {
            Label = label;
            Value = value;
        }
    }
}

Dotnet9工具箱会不断添加新的免费、开源、在线工具,欢迎star支持,有什么需求我会考虑加上,仓库地址:Dotnet9.Tools[1],可提交issue[2]、网站留言[3]、微信公众号(dotnet9)联系等等。

本工具源码:TimestampTool[4]

介绍文章:使用Blazor做个简单的时间戳在线转换工具[5]

在线演示地址:https://tool.dotnet9.com/timestamp[6]

参考资料

[1]

Dotnet9.Tools: https://github.com/dotnet9/dotnet9.com

[2]

提交issue: https://github.com/dotnet9/dotnet9.com/issues/new

[3]

网站留言: https://dotnet9.com

[4]

TimestampTool: https://github.com/dotnet9/dotnet9.com/blob/develop/src/Dotnet9.Tools.Web/Pages/Public/TimeTools/TimestampTool.razor

[5]

使用Blazor做个简单的时间戳在线转换工具: https://dotnet9.com/?p=1801

[6]

https://tool.dotnet9.com/timestamp: https://tool.dotnet9.com/timestamp

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全      

BlazorDateRangePicker:Blazor组件,用于选择日期范围和日期 日期范围选择器 此日期范围选择器组件是js 的端口,使用C#作为Razor组件进行了重写。 它创建一个下拉菜单,用户可以从中选择日期范围。 jquery,moment或bootstrap没有依赖关系 功能包括限制可选日期范围,可本地化的字符串和日期格式,单个日期选择器模式以及预定义的日期范围。 JS Interop用于弹出窗口定位和外部单击处理。 随着ASP.NET Core Blazor的未来版本的发布,无需js就可以实现。 开始使用 从NuGet程序包管理器中的NuGet下载库,或在程序包管理器控制台中执行以下命令: Install-Package BlazorDateRangePicker 将这些行添加到_Host.cshtml(或Blazor WebAssembly的index.html )文件的<head></head>部分中: < script src =" _con 立即下载

相关推荐

Moo0文件时间戳修改器(文件时间戳修改设置工具)官方中文版V1.16(威航软件园).rar

Moo0文件时间戳修改器顾名思义是一款短小精悍免费实用的文件时间戳修改设置工具,内置查看和复制、查看和编辑以及能满足多文件批量修改的一次更改多个文件或文件夹三种模式,该时间戳修改工具允许大家可以直接将文件或文件夹拖放进来然后就可以轻松地修改文件和文件夹的时间戳,通过设定具体的时间、通过加减或时区设置轻松地修改单个或多个文件的“创建”时间、“修改”时间和“访问”时间,如果大家需要一款方便好用的文件时间戳修改设置工具的话

MAUI 第四天 使用MASA Blazor 中英文切换

使用MASA Blazor 中英文切换

bjxingch的博客 894

js时间轴组件

非常好用的时间轴组件,用javascript写的,google开源库

MAUI 第五天 使用MASA Blazor 做个全局异常监测和数据库操作

MAUI Blazor Sqlite

bjxingch的博客 1329

PE 文件时间戳修改工具

PE 文件时间戳修改工具, 将PE文件中编译时间戳统一修改为2008-08-08 08:08:08 使用方法: 1、命令行: TimeFix d:\Budded.dll 2、Delphi2007中PostBuild中可以使用: "$(BDS)\Bin\TimeFix.exe" "$(OUTPUTPATH)" 修改相关路径即可

USVInland 数据集实战:4个月采集27段数据,26公里内河SLAM评测

本文详细解析了USVInland数据集在内河SLAM算法评测中的应用实践。通过4个月采集的27段共26公里真实多传感器数据,该数据集有效解决了GPS信号遮挡、动态反射干扰等内河无人船SLAM核心挑战。文章从数据预处理、算法优化到性能评测,全面展示了如何利用毫米波雷达与视觉数据的时空对齐特性提升定位精度,为水上无人驾驶技术提供重要基准。

weixin_33158887的博客 342

开源.NET 7和Blazor组合开发的跨平台边缘采集网-ThingsGateway

本文由网友投稿,欢迎更多的朋友来分享。作者:Diego仓库地址:https://gitee.com/diego2098/ThingsGateway介绍基于Net6/7+Blazor Server的跨平台边缘采集网关,支持南北端插件式开发功能亮点Blazor Server架构,开发部署更简单采集/上传配置完全支持Excel导入导出插件式驱动,方便驱动二次开发时序数据库存储实时/历史报警(Sql转储)...

dotNET跨平台 924

LTE/NR中的相应cause场景【原创】

目录1.背景2.LTE EMM cause2.0 写在最前2.1 特殊处理的cause第一梯队第二梯队2.2 非特殊处理的cause3.NR cause 实网分析终端被拒等问题,经常遇到各类cause,其会对应不同的终端限制行为。查找已有资料后理解没有很深,自行总结本文用于梳理现象,如有错误敬请指正,转载请注明出处。 本文用于记录协议Ts 24.301及Ts 24.501中的cause及其对应行为。 已总结的cause值: 24.301中的cause分

2301_79567300的博客 3499

时间字符串转时间戳_Pandas 时间序列 纵览与时间戳

呆鸟云:”这篇是 Pandas 时间序列的第 001 篇,昨天发的《Pandas 时间序列 - 日期时间索引》是第 002 篇。大家阅读时,请注意顺序。"时间序列纵览时间戳 vs. 时间段转换时间戳提供格式参数用多列组合日期时间无效数据纪元时间戳把时间戳转换为纪元应用 `origin` 参数生成时间戳范围自定义频率范围时间戳的界限依托 NumPy 的 datetime64、timedel...

weixin_42600407的博客 669

【算法实战】Keystone变换:从原理到MATLAB实现的距离走动校正

本文深入解析Keystone变换在雷达信号处理中的距离走动校正应用,从原理到MATLAB实现全面讲解。通过三种实现方法(DFT+IFFT、Sinc插值、Chirp-Z变换)的对比分析,结合实战案例展示如何有效解决高速目标导致的距离单元跨越问题,提升多普勒频谱聚焦质量。

weixin_29055699的博客 295

PTGui使用教程

PTGui使用教程为啥使用ptgui开始使用ptgui 为啥使用ptgui ptgui是一个全景拼接软件,在海思hi3559上做视频拼接的时候,需要拼接参数,这是就需要使用到ptgui,这里可以在该网站下下载ptgui:下载地址 开始使用ptgui 第一步,加载图片,我这里添加了三幅图 然后添加控制点(可以先多对准几次图像,这样会自动生成一些控制点,但是不保证准确),建议控制点不要太密集 点开镜头设置,勾选以下几个选项以及配置好镜头类型,如下图 点开优化器,在高级界面中配置如下参数,最后点

what_wrong的博客 1万+

Blazor学习之旅(2)第一个Blazor应用

【Blazor】|总结/Edison Zhou大家好,我是Edison。最近在学习Blazor做全栈开发,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看。本篇我们来构建第一个Blazor Web应用,这里我们选择Blazor Server类型,后面我们再学习Blazor WebAssembly类型。话外音:有人问我西门子在用Blazor吗?是的,西门子德国的两...

dotNET跨平台 990

SAP自动化-ME51N批量创建采购申请

2、需要管理员授权RZ11脚本录制回放功能。1、仅限于正对SAP日常工作的批量处理。3、数据模板按实际需求更新。物料编码,工厂,数量。

小九啥也不会 530

免费开源Blazor在线Ico转换工具

1. 功能效果演示 仓库地址:IcoTool 在线演示地址:https://tool.dotnet9.com/ico 演示下文件上传、转换结果: 通过该工具及代码,能了解到: 使用Blazor怎么上传文件到服务器(Blazor Server)。 怎么从服务器下载文件。 如何将png等图片转换为Ico图片。 下面对该工具的实现代码做个简单说明,不太清楚的可以留言交流。 2. 实现说明 通过该工具,能了解到: 使用Blazor怎么上传文件到服务器(Blazor Server)。 怎么从服务器下载文件。

Dotnet9的专栏 9366

【docker】第10篇 Failed with result ‘exit-code和Start request repeated too quickly和Failed to start Docker

【docker】解决 Failed with result 'exit-code'和Start request repeated too quickly和Failed to start Docker。

Fanjufei的博客 6819

YOLO26改进策略【YOLO和Mamba】| MLLA:Mamba-Like Linear Attention,融合Mamba设计优势的注意力机制

本文记录的是利用模块优化的目标检测网络模型。模块具有独特优势。它不同于传统模块,能同时兼顾局部特征高效建模与长距离交互学习。常见模块要么在局部特征处理上有优势但长距离交互能力弱,要么反之,而模块克服了此问题。它融合了Mamba模型和线性注意力机制的优势,通过独特的结构设计,能够在保持计算效率的同时,精准地建模局部特征并学习长距离交互信息。本文将其用于的模型改进和二次创新,能够更加关注图像中的重要特征区域,抑制背景等无关信息的干扰,从而突出目标物体的关键特征。Demystify Mamba in Vision

Limiiiing的博客 214

基于Ant Design Blazor的学生在线练习系统实现的简单总结

疫情当前,作为一名教师,如何能让学生进行有效练习成了一个难题。如果使用 “问卷星”等线上调查问卷式的网站来做练习测试,是无法及时有效的进行,更谈不上对学生练习情况进行跟踪。鉴于以上现实情况和问题,感觉还不如自己动手做一个,顺便充充电学习一下很热的Blazor。整个系统的实现一边学一边写一边试用一边改,由于自己的web设计的知识还停留在好几代前,所以只能硬着头皮爬网文、看视频,发求助,每每濒到了崩溃边缘,兴有很多热心的大佬指点迷津,终于让我熬过来^_^。

志超的专栏 1914

20、啁啾脉冲光纤放大器:原理、设计与仿真

本文详细介绍了啁啾脉冲光纤放大器(FCPA)的原理、设计与仿真过程。内容涵盖CPA技术的基本原理、光纤基CPA系统的组成、Tm掺杂光纤放大器的工作机制、全光纤脉冲展宽器的设计以及仿真分析。通过MATLAB仿真展示了脉冲在光纤中的展宽与放大过程,并讨论了如何优化系统以减少非线性失真、控制峰值功率并提高整体性能。文章还总结了系统优化的关键策略,并展望了未来的发展方向。

v4w5x6的博客 319

Blazor WebAssembly实现人民币大写转换工具开发指南

WebAssembly技术允许在浏览器中高效运行编译型语言代码,为Web应用带来接近原生的性能。结合Blazor框架,开发者可以使用C#替代JavaScript构建单页应用(SPA),实现前后端统一技术栈。这种技术组合特别适合需要复杂计算逻辑的财务工具开发,如人民币金额大写转换场景。通过PWA(渐进式Web应用)技术,应用可获得离线使用、安装到桌面等增强特性。本文详解如何基于.NET 6和Blazor WebAssembly开发一个具备实时转换、语音朗读、剪贴板复制等功能的大写人民币翻译机,涵盖核心算法、前

weixin_33912246的博客 604

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Blazing.Mvvm——使用Mvvm社区工具包的Blazor Server、WebAssembly和Hybrid

本文介绍Blazor的MVVM实现,该实现通过名为Blazing.MVVM的库使用CommunityToolkit.Mvvm。

寒冰屋的专栏 1190

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MAUI使用Masa blazor组件库

上一篇(点击阅读)我们实现了UI在Web端(Blazor Server/Wasm)和客户端(Windows/macOS/Android/iOS)共享,这篇我加上 Masa Blazor[2]组件库的引用,并把前几个月写的时间戳转换[3]工具加上。1. 前置知识关于Masa Blazor请点击Masa Blazor官网[4]了解:MASA Blazor基于Material ...

dotNET跨平台 791

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Blazor-Validation:为Blazor表单验证提供强大支持

Blazor-Validation:为Blazor表单验证提供强大支持 项目介绍 Blazor-Validation 是一个专为 Microsoft aspdotnet Blazor 项目 设计的表单验证库。它不仅支持多种验证方式,还提供了灵活的配置选项,使得开发者能够轻松地在 Blazor 应用中实现表单验证功能。无论你是使用 DataAnnotations 还是 FluentValidatio...

gitblog_00038的博客 1083

Blazor组件文档生成:BootstrapBlazor文档工具使用

BootstrapBlazor提供了完整的组件文档生成工具链,核心由**文档映射系统**、**代码提取服务**和**前端渲染组件**三部分组成。该架构实现了组件示例与文档的自动关联,确保代码示例与实际运行效果完全一致。 ```mermaid flowchart TD A[docs.json 映射配置] -->|组件名映射| B[CodeSnippetService] C[组件示例...

gitblog_01126的博客 1013
上一篇: c#使用FluentFtp实现一行代码实现ftp上传下载等
下一篇: 分库分表下极致的优化
zls365365
博客等级 码龄7年 1759粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值