【BUG】12小时制和24小时制获取当天零点问题
【BUG】12小时制和24小时制获取当天零点问题
最近在写定时服务的时候,要获取当天的零点这个时间,但是是这样获取的
DateTime dt = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")+" 00:00:00");
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss"));
在本地,测试,QA环境测试了均没有问题,但是上了公网服务器以后,这个定时服务,就出问题了;写了下日志,竟然发现获取当天的零点,拼起来后获取的时间是前一天的零点,原来服务器时间是12小时制的,本地环境都是24小时制的。
继续深究,发现每天的00:00:00到00:59:59这段时间,在24小时制时间内是当天的日期;但是在12小时制时间内,是前天的日期的12:00:00到12:59:59。举个例子,比如说按照24小时制时间,今天的“2013-09-26 00:00:00”这个时间,在12小时制服务器中,获取的话就是“2013-09-25 12:00:00”,DateTime.Now.ToString("yyyy-MM-dd")这个方法获得的日期就是“2013-09-25”,那么dt获取就是“2013-09-25 12:00:00”。
原来,根据C#中获取时间的小时制的不同,可以这样获取
24小时制: DateTime dt = DateTime.Now;
string dt24 = dt.ToString("yyyy-MM-dd HH:mm:ss");
12小时制: DateTime dt = DateTime.Now;
string dt12 = dt.ToString("yyyy-MM-dd hh:mm:ss");
是由H的大小写决定
不管服务器的时间制是12小时还是24小时,大写H获取的就是24小时的时间,小写h获取的就是12小时的时间。
今天碰到的这个问题,权且记录一下,以自警用!
【BUG】12小时制和24小时制获取当天零点问题的更多相关文章
- SimpleDateFormat 12小时制以及24小时制的写法
有些代码按了复制键没有效果,但是其实已经复制到剪贴板上面了,大家请注意哦! 我的文章有时会稍有修改,转载请注明出处哦! 原文地址:SimpleDateFormat 12小时制以及24小时制的写法 去代 ...
- C# 时间现实问题(12小时制与24小时制)
最近在修改项目中遇到时间问题,12小时制与24小时制的问题,想再次跟各位同仁提个醒. yyyy-MM-dd HH:mm:ss------大写的HH为24小时制 yyyy-MM-dd hh:mm:ss- ...
- Android获取设备採用的时间制式(12小时制式或24小时制式)
/** * 获取设备採用的时间制式(12小时制式或者24小时制式) * 注意: * 在模拟器上获取的时间制式为空 */ private void getTime_12_24(Context conte ...
- 12小时制时间&&24小时制时间
今天在获取时间的时候发现,插入到数据库中的时间,其中下午的时间直接显示01,02的样子...查了下资料发现了端倪, java.text.SimpleDateFormat f=new java.text ...
- Linux系统硬件时间12小时制和24小时制表示设置
目前的服务器status是下面这样的 服务器系统 centos7 Linux系统时间 Fri Mar 20 15:26:27 CST 2020 Linux系统硬件时间 Fri 20 ...
- ios 在中国地区,24小时时间格式 系统设定下 获得12小时制时间的方法
如题,在中国地区,24小时时间格式 系统设定下,如果单单使用 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 之后,无论用hh ...
- oracle 日期to_char转换24小时制12小时制
1>以12小时制显示 SQL>select to_char(sysdate,'YYYY-MM-DD HH12:MI:SS AM')from dual; TO_CHAR(SYSDATE,'Y ...
- WINDOWS 2003系统时间24小时制与12小时显示格式不一致问题与解决
WINDOWS 2003 SERVER系统时间24小时制与12小时格式不一致问题,而导致论坛或BLOG不能正常显示更新日期的问题及解决方法问题的方法. 在WIN2003上出现这种情况的原因是在程序中使 ...
- java12小时制的时间转换为24小时制
Java中将12小时制的时间转换为24小时制的方式如下: import java.text.SimpleDateFormat; import java.util.Date; public class ...
随机推荐
- java中的序列化问题
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输.可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间.序列化是 ...
- Android小游戏应用---撕破美女衣服游戏
ImageView after; ImageView before; @Override protected void onCreate(Bundle savedInstanceState) { su ...
- import 本质
一. 模块:用来从逻辑上来组织python代码(变量,函数,类,逻辑,实现一个功能),本质就是,py结尾的python文件 1.1 导入方法: import module import module1 ...
- javascript设计模式系列二-封装
JavaScript封装: var Book = function (id, name, price) { this.id = id, this.name = name, this.price = p ...
- struct tm
struct tm { int tm_sec; /* 秒–取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_hour; /* 时 - 取值 ...
- functional filter()
#include "pch.h" #include <iostream> #include <deque> #include <string> ...
- BZOJ 4520: [Cqoi2016]K远点对(k-d tree)
Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 1162 Solved: 618[Submit][Status][Discuss] Descripti ...
- linux 相关命令记录
NetworkManager关闭及禁用 关闭:systemctl stop NetworkManager 禁用:systemctl disable NetworkManager 查看日志:journa ...
- 【Mac】gem install 出错 You don't have write permissions for the /Library/Ruby/Gems
问题描述 RedisDump 是一个用于 Redis 数据导人/导出的工具,是基于 Ruby 实现的,需要先安装 Ruby.但因为 Mac 自带有 Ruby 所以我直接用gem install red ...
- 使用maven将GitHub上项目打包作为依赖添加
Clone GitHub项目 git clone https://github.com/LeeKemp/UserAgentParser 将项目打成jar包,安装到maven仓库中 D:\Github ...